#include <stdlib.h>
#include <fcntl.h>
#include <string.h>
+#include <sys/stat.h>
#include "internal.h"
#include "virutil.h"
fprintf(log, "CWD:%s\n", cwd);
VIR_FREE(cwd);
+ fprintf(log, "UMASK:%04o\n", umask(0));
+
VIR_FORCE_FCLOSE(log);
if (argc > 1 && STREQ(argv[1], "--close-stdin")) {
if (virAsprintf(&cwd, "%s/commanddata", abs_srcdir) < 0)
goto cleanup;
virCommandSetWorkingDirectory(cmd, cwd);
+ virCommandSetUmask(cmd, 002);
if (virCommandRun(cmd, NULL) < 0) {
virErrorPtr err = virGetLastError();
if (chdir("/tmp") < 0)
return EXIT_FAILURE;
+ umask(022);
+
setpgid(0, 0);
ignore_value(setsid());