From 64b744997ef399809dc4c78ec45ddfbebde3e597 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Mon, 26 Jan 2015 15:45:48 +0100 Subject: ftpd: prevent zombies. closes 7832 Signed-off-by: Denys Vlasenko --- networking/ftpd.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'networking') diff --git a/networking/ftpd.c b/networking/ftpd.c index 6adcb1dee..0c10e1f25 100644 --- a/networking/ftpd.c +++ b/networking/ftpd.c @@ -1174,8 +1174,13 @@ int ftpd_main(int argc UNUSED_PARAM, char **argv) //umask(077); - admin can set umask before starting us - /* Signals. We'll always take -EPIPE rather than a rude signal, thanks */ - signal(SIGPIPE, SIG_IGN); + /* Signals */ + bb_signals(0 + /* We'll always take EPIPE rather than a rude signal, thanks */ + + (1 << SIGPIPE) + /* LIST command spawns chilren. Prevent zombies */ + + (1 << SIGCHLD) + , SIG_IGN); /* Set up options on the command socket (do we need these all? why?) */ setsockopt(STDIN_FILENO, IPPROTO_TCP, TCP_NODELAY, &const_int_1, sizeof(const_int_1)); -- cgit v1.2.3