aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/dirtree.c2
-rw-r--r--lib/xwrap.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/dirtree.c b/lib/dirtree.c
index 85b1a3cf..7ad699e1 100644
--- a/lib/dirtree.c
+++ b/lib/dirtree.c
@@ -115,7 +115,7 @@ struct dirtree *dirtree_handle_callback(struct dirtree *new,
if (dir) {
if (flags & (DIRTREE_RECURSE|DIRTREE_COMEAGAIN)) {
- new->data = openat(dirtree_parentfd(new), new->name, 0);
+ new->data = openat(dirtree_parentfd(new), new->name, O_CLOEXEC);
dirtree_recurse(new, callback, flags & DIRTREE_SYMFOLLOW);
if (flags & DIRTREE_COMEAGAIN) flags = callback(new);
}
diff --git a/lib/xwrap.c b/lib/xwrap.c
index 583a4cae..4516250f 100644
--- a/lib/xwrap.c
+++ b/lib/xwrap.c
@@ -218,7 +218,7 @@ void xunlink(char *path)
// Die unless we can open/create a file, returning file descriptor.
int xcreate(char *path, int flags, int mode)
{
- int fd = open(path, flags, mode);
+ int fd = open(path, flags^O_CLOEXEC, mode);
if (fd == -1) perror_exit("%s", path);
return fd;
}