LOG_W("Couldn't create upper directories for '%s'", dst);
return false;
}
- int fd = TEMP_FAILURE_RETRY(open(dst, O_CREAT | O_RDONLY, 0644));
+ int fd = TEMP_FAILURE_RETRY(open(dst, O_CREAT | O_RDONLY | O_CLOEXEC, 0644));
if (fd >= 0) {
close(fd);
} else {
- PLOG_W("open('%s', O_CREAT|O_RDONLY, 0700)", dst);
+ PLOG_W("open('%s', O_CREAT|O_RDONLY|O_CLOEXEC, 0700)", dst);
}
}
char fname[PATH_MAX];
snprintf(fname, sizeof(fname), "/proc/%d/syscall", (int)pid);
- p->pid_syscall_fd = TEMP_FAILURE_RETRY(open(fname, O_RDONLY));
+ p->pid_syscall_fd = TEMP_FAILURE_RETRY(open(fname, O_RDONLY | O_CLOEXEC));
TAILQ_INSERT_HEAD(&nsjconf->pids, p, pointers);
ssize_t utilReadFromFile(const char *fname, void *buf, size_t len)
{
int fd;
- TEMP_FAILURE_RETRY(fd = open(fname, O_RDONLY));
+ TEMP_FAILURE_RETRY(fd = open(fname, O_RDONLY | O_CLOEXEC));
if (fd == -1) {
- LOG_E("open('%s', O_RDONLY)", fname);
+ LOG_E("open('%s', O_RDONLY|O_CLOEXEC)", fname);
return -1;
}
ssize_t ret = utilReadFromFd(fd, buf, len);