From: Chris Boot Date: Sat, 11 May 2013 17:01:52 +0000 (+0100) Subject: ulogd: Perform nice() before giving up root X-Git-Tag: ulogd-2.0.3~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=401c446ce73dfee19afb668a2761f335bcb91877;p=thirdparty%2Fulogd2.git ulogd: Perform nice() before giving up root The daemon code currently tries to nice(-1) just after having given up root privileges, which fails. This patch moves the nice(-1) call to just before the code that gives up the required privileges. Signed-off-by: Chris Boot --- diff --git a/src/ulogd.c b/src/ulogd.c index 8f21cc2..76190d9 100644 --- a/src/ulogd.c +++ b/src/ulogd.c @@ -1235,6 +1235,13 @@ int main(int argc, char* argv[]) warn_and_exit(daemonize); } + errno = 0; + if (nice(-1) == -1) { + if (errno != 0) + ulogd_log(ULOGD_ERROR, "Could not nice process: %s\n", + strerror(errno)); + } + if (change_uid) { ulogd_log(ULOGD_NOTICE, "Changing UID / GID\n"); if (setgid(gid)) { @@ -1261,13 +1268,6 @@ int main(int argc, char* argv[]) } } - errno = 0; - if (nice(-1) == -1) { - if (errno != 0) - ulogd_log(ULOGD_ERROR, "Could not nice process: %s\n", - strerror(errno)); - } - if (daemonize){ if (fork()) {