summaryrefslogtreecommitdiff
path: root/usr.sbin/smtpd/bounce.c
diff options
context:
space:
mode:
authorJacek Masiulaniec <jacekm@cvs.openbsd.org>2009-09-16 15:33:07 +0000
committerJacek Masiulaniec <jacekm@cvs.openbsd.org>2009-09-16 15:33:07 +0000
commitd9a7accea8ae216d24bde426a21e5bcd6910de3c (patch)
tree802f53507af62775b9738eebdc827ab19982ce6f /usr.sbin/smtpd/bounce.c
parenta52b2186877eb82197db226ad6589a8743b6c299 (diff)
Free resources when bounce enqueue fails due to a timeout.
Diffstat (limited to 'usr.sbin/smtpd/bounce.c')
-rw-r--r--usr.sbin/smtpd/bounce.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/smtpd/bounce.c b/usr.sbin/smtpd/bounce.c
index 13b0413b63e..91c3d67749f 100644
--- a/usr.sbin/smtpd/bounce.c
+++ b/usr.sbin/smtpd/bounce.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bounce.c,v 1.8 2009/09/15 16:50:06 jacekm Exp $ */
+/* $OpenBSD: bounce.c,v 1.9 2009/09/16 15:33:06 jacekm Exp $ */
/*
* Copyright (c) 2009 Gilles Chehade <gilles@openbsd.org>
@@ -126,7 +126,10 @@ bounce_event(int fd, short event, void *p)
if (event & EV_TIMEOUT) {
message_set_errormsg(&cc->m, "150 timeout");
+ cc->m.status = S_MESSAGE_TEMPFAILURE;
queue_message_update(&cc->m);
+ client_close(cc->sp);
+ free(cc);
return;
}