diff options
Diffstat (limited to 'libbb/vfork_daemon_rexec.c')
-rw-r--r-- | libbb/vfork_daemon_rexec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libbb/vfork_daemon_rexec.c b/libbb/vfork_daemon_rexec.c index ea7b475..f7c6209 100644 --- a/libbb/vfork_daemon_rexec.c +++ b/libbb/vfork_daemon_rexec.c @@ -244,8 +244,6 @@ void bb_daemonize_or_rexec(int flags, char **argv) { int fd; - fd = xopen(bb_dev_null, O_RDWR); - if (flags & DAEMON_CHDIR_ROOT) xchdir("/"); @@ -255,6 +253,8 @@ void bb_daemonize_or_rexec(int flags, char **argv) close(2); } + fd = xopen(bb_dev_null, O_RDWR); + while ((unsigned)fd < 2) fd = dup(fd); /* have 0,1,2 open at least to /dev/null */ |