aboutsummaryrefslogtreecommitdiff
path: root/libbb/vfork_daemon_rexec.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2011-02-03 14:14:09 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2011-02-03 14:14:09 +0100
commitc5d0f15dbd8087f60b377fa9fc18d08698429189 (patch)
treec35004eac3c2754328237dc66d669f7200712d27 /libbb/vfork_daemon_rexec.c
parent3237f5c307c066a008909f35115e21c9473504ab (diff)
downloadbusybox-c5d0f15dbd8087f60b377fa9fc18d08698429189.tar.gz
libbb: spawn should remove child which failed to exec
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb/vfork_daemon_rexec.c')
-rw-r--r--libbb/vfork_daemon_rexec.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libbb/vfork_daemon_rexec.c b/libbb/vfork_daemon_rexec.c
index af938bed3..a75eafbd3 100644
--- a/libbb/vfork_daemon_rexec.c
+++ b/libbb/vfork_daemon_rexec.c
@@ -52,6 +52,7 @@ pid_t FAST_FUNC spawn(char **argv)
* Interested party can wait on pid and learn exit code.
* If 111 - then it (most probably) failed to exec */
if (failed) {
+ safe_waitpid(pid, NULL, 0); /* prevent zombie */
errno = failed;
return -1;
}