]> www.infradead.org Git - users/dwmw2/crm114-spamd.git/commitdiff
fork twice
authorJohannes Berg <johannes@sipsolutions.net>
Fri, 5 Oct 2007 15:18:36 +0000 (17:18 +0200)
committerJohannes Berg <johannes@sipsolutions.net>
Fri, 5 Oct 2007 15:18:36 +0000 (17:18 +0200)
crm114-spamd.c

index 6237b9f718bc19afb8ce5cbd62d7717bc354bdc5..cdd61ee77b71d56e800b92edd128a68eeffd645a 100644 (file)
@@ -107,6 +107,12 @@ int main(int argc, char **argv)
                ERROR(EX_TEMPFAIL, "user not found");
        if (setuid(ps->pw_uid))
                ERROR(EX_TEMPFAIL, "cannot setuid");
+       pid = fork();
+       if (pid < 1)
+               ERROR(EX_TEMPFAIL, "couldn't fork");
+       if (pid)
+               exit(0);
+       setuid(ps->pw_uid);
 
        /* read content-length line */
        read_stdin_line(buf, sizeof(buf));