From: Johannes Berg Date: Fri, 5 Oct 2007 15:18:36 +0000 (+0200) Subject: fork twice X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=a9e7e329b854169795023bb9643cd932bfe7386b;p=users%2Fdwmw2%2Fcrm114-spamd.git fork twice --- diff --git a/crm114-spamd.c b/crm114-spamd.c index 6237b9f..cdd61ee 100644 --- a/crm114-spamd.c +++ b/crm114-spamd.c @@ -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));