From b182e9ad6011909fdb76358431d23d195febaf54 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 4 Aug 2017 23:04:17 +0200 Subject: libbb: use _exit, not exit, in bb_daemonize_or_rexec() By the time we reach exit in parent, child already exited or execed. We should not re-run libc cleanup code. While at it, introduce bb_daemon_helper() and add a few comments. Signed-off-by: Denys Vlasenko --- loginutils/login.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'loginutils/login.c') diff --git a/loginutils/login.c b/loginutils/login.c index 381468d81..fcdb9592c 100644 --- a/loginutils/login.c +++ b/loginutils/login.c @@ -350,8 +350,8 @@ int login_main(int argc UNUSED_PARAM, char **argv) /* Mandatory paranoia for suid applet: * ensure that fd# 0,1,2 are opened (at least to /dev/null) * and any extra open fd's are closed. - * (The name of the function is misleading. Not daemonizing here.) */ - bb_daemonize_or_rexec(DAEMON_ONLY_SANITIZE | DAEMON_CLOSE_EXTRA_FDS, NULL); + */ + bb_daemon_helper(DAEMON_CLOSE_EXTRA_FDS); username[0] = '\0'; opt = getopt32(argv, "f:h:p", &opt_user, &opt_host); -- cgit v1.2.3