summaryrefslogtreecommitdiffstats
path: root/network/opensmtpd/openbsd64-020-smtpd.patch
diff options
context:
space:
mode:
author Richard Narron2019-08-09 20:09:59 +0200
committer Willy Sudiarto Raharjo2019-08-09 20:10:14 +0200
commit66062b50d0b8857cd66eb00a08cef9b543c1c756 (patch)
treec2aec997e42a2dc18284efd6a6b793ac3f2a0eb3 /network/opensmtpd/openbsd64-020-smtpd.patch
parent2ccb4f74c6e791736be0de1d355e6b5d405111aa (diff)
downloadslackbuilds-66062b50d0b8857cd66eb00a08cef9b543c1c756.tar.gz
network/opensmtpd: Apply OpenBSD 6.4 patch 20.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'network/opensmtpd/openbsd64-020-smtpd.patch')
-rw-r--r--network/opensmtpd/openbsd64-020-smtpd.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/network/opensmtpd/openbsd64-020-smtpd.patch b/network/opensmtpd/openbsd64-020-smtpd.patch
new file mode 100644
index 0000000000..a1aa51607a
--- /dev/null
+++ b/network/opensmtpd/openbsd64-020-smtpd.patch
@@ -0,0 +1,27 @@
+--- a/smtpd/smtp_session.c 3 Sep 2018 19:01:29 -0000 1.337
++++ b/smtpd/smtp_session.c 1 Aug 2019 21:18:53 -0000
+@@ -1904,15 +1904,21 @@ smtp_reply(struct smtp_session *s, char
+ {
+ va_list ap;
+ int n;
+- char buf[LINE_MAX], tmp[LINE_MAX];
++ char buf[LINE_MAX*2], tmp[LINE_MAX*2];
+
+ va_start(ap, fmt);
+ n = vsnprintf(buf, sizeof buf, fmt, ap);
+ va_end(ap);
+- if (n == -1 || n >= LINE_MAX)
+- fatalx("smtp_reply: line too long");
++ if (n < 0)
++ fatalx("smtp_reply: response format error");
+ if (n < 4)
+ fatalx("smtp_reply: response too short");
++ if (n >= (int)sizeof buf) {
++ /* only first three bytes are used by SMTP logic,
++ * so if _our_ reply does not fit entirely in the
++ * buffer, it's ok to truncate.
++ */
++ }
+
+ log_trace(TRACE_SMTP, "smtp: %p: >>> %s", s, buf);
+