aboutsummaryrefslogtreecommitdiff
path: root/lib/xwrap.c
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2014-07-26 13:27:07 -0500
committerRob Landley <rob@landley.net>2014-07-26 13:27:07 -0500
commitccb73f8bf9191c01c90975958a210c47175bd98c (patch)
tree135401e239d48af41faabf2fc484d05be1dbde71 /lib/xwrap.c
parentdc62a012d7ce3e9a397e28022ab1fb6568a867c2 (diff)
downloadtoybox-ccb73f8bf9191c01c90975958a210c47175bd98c.tar.gz
Default xcreate/xopen to O_CLOEXEC. (Pass O_CLOEXEC in the flags to switch it back off.)
This way we're not leaking filehandles to children from things like find -exec.
Diffstat (limited to 'lib/xwrap.c')
-rw-r--r--lib/xwrap.c2
1 files changed, 1 insertions, 1 deletions
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;
}