diff options
Diffstat (limited to 'pop3d.c')
-rw-r--r-- | pop3d.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -170,9 +170,14 @@ authenticate(struct imsgev *iev, struct imsg *imsg) if ((pw = getpwnam(req->user)) == NULL) fatalx("authenticate: getpwnam"); - maildrop_init(imsg->hdr.peerid, pair, pw, mtype, mpath); - close(pair[1]); + if (maildrop_init(imsg->hdr.peerid, pair, pw, mtype, mpath) == -1) { + logit(LOG_INFO, "%u: unable to fork maildrop process", + imsg->hdr.peerid); + pair[0] = -1; + goto end; + } + close(pair[1]); end: imsgev_xcompose(iev, IMSG_AUTH, imsg->hdr.peerid, 0, pair[0], NULL, 0, "authenticate"); |