summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Chehade <gilles@cvs.openbsd.org>2018-07-25 15:24:27 +0000
committerGilles Chehade <gilles@cvs.openbsd.org>2018-07-25 15:24:27 +0000
commitd1c119fe8865e209f44f3dadcb4b5d19a32ac2bb (patch)
treef9eeddced782f0c4e285926f2d93c659ffefce40
parenta4dcc7ba00fa9b5b8610760275774cfd1faa76f2 (diff)
qmail advertizes a size of 0 as "no limit on data", fix SIZE handling in
mta_session.c spotted by deraadt@ and benno@
-rw-r--r--usr.sbin/smtpd/mta_session.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/smtpd/mta_session.c b/usr.sbin/smtpd/mta_session.c
index 10c41f397bf..e1def0b54c2 100644
--- a/usr.sbin/smtpd/mta_session.c
+++ b/usr.sbin/smtpd/mta_session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mta_session.c,v 1.103 2018/07/08 13:06:37 gilles Exp $ */
+/* $OpenBSD: mta_session.c,v 1.104 2018/07/25 15:24:26 gilles Exp $ */
/*
* Copyright (c) 2008 Pierre-Yves Ritschard <pyr@openbsd.org>
@@ -287,7 +287,7 @@ mta_session_imsg(struct mproc *p, struct imsg *imsg)
return;
}
- if (s->ext & MTA_EXT_SIZE) {
+ if ((s->ext & MTA_EXT_SIZE) && s->ext_size != 0) {
if (fstat(imsg->fd, &sb) == -1) {
log_debug("debug: mta: failed to stat msg fd");
mta_flush_task(s, IMSG_MTA_DELIVERY_TEMPFAIL,