summaryrefslogtreecommitdiff
path: root/usr.sbin/smtpd/smtp_session.c
diff options
context:
space:
mode:
authorGilles Chehade <gilles@cvs.openbsd.org>2019-10-03 05:04:46 +0000
committerGilles Chehade <gilles@cvs.openbsd.org>2019-10-03 05:04:46 +0000
commitf7dc5a8078135ed2ce2b5664a5ab083eb996d814 (patch)
tree8bc2be8914572b7654b3c08d0f602b600b62b1a7 /usr.sbin/smtpd/smtp_session.c
parent52750d1e81cfe0c8db5cda0f1bd5ba25572e1f23 (diff)
fix possible use-after-free in error code path
Diffstat (limited to 'usr.sbin/smtpd/smtp_session.c')
-rw-r--r--usr.sbin/smtpd/smtp_session.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/smtpd/smtp_session.c b/usr.sbin/smtpd/smtp_session.c
index 5df9476ebea..3002ed6fa12 100644
--- a/usr.sbin/smtpd/smtp_session.c
+++ b/usr.sbin/smtpd/smtp_session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: smtp_session.c,v 1.412 2019/09/21 09:01:52 semarie Exp $ */
+/* $OpenBSD: smtp_session.c,v 1.413 2019/10/03 05:04:45 gilles Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@poolp.org>
@@ -782,9 +782,9 @@ smtp_session_imsg(struct mproc *p, struct imsg *imsg)
smtp_reply(s, "250 %s Ok",
esc_code(ESC_STATUS_OK, ESC_OTHER_STATUS));
} else {
- smtp_tx_free(s->tx);
smtp_reply(s, "421 %s Temporary Error",
esc_code(ESC_STATUS_TEMPFAIL, ESC_OTHER_MAIL_SYSTEM_STATUS));
+ smtp_tx_free(s->tx);
smtp_enter_state(s, STATE_QUIT);
}
m_end(&m);