File cyrus-imapd-2.4.19-lmtpd_crash.patch of Package cyrus-imapd
From 129d3aedbba82d6457fc7cbd436e68f278e0628b Mon Sep 17 00:00:00 2001
From: ellie timoney <ellie@fastmail.com>
Date: Mon, 22 May 2017 13:06:04 +1000
Subject: [PATCH] lmtpd: fix uninitialised variable crash
---
imap/lmtpd.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/imap/lmtpd.c b/imap/lmtpd.c
index 5fe507a80..7428f72b5 100644
--- a/imap/lmtpd.c
+++ b/imap/lmtpd.c
@@ -712,9 +712,10 @@ int deliver(message_data_t *msgdata, char *authuser,
/* loop through each recipient, attempting delivery for each */
for (n = 0; n < nrcpts; n++) {
- char namebuf[MAX_MAILBOX_BUFFER] = "", *server;
+ char namebuf[MAX_MAILBOX_BUFFER] = "";
char userbuf[MAX_MAILBOX_BUFFER];
const char *rcpt, *user, *domain, *mailbox;
+ char *server = NULL;
int r = 0;
rcpt = msg_getrcptall(msgdata, n);
@@ -954,7 +955,7 @@ static int verify_user(const char *user, const char *domain, char *mailbox,
}
if (!r) {
- char *server, *acl;
+ char *server = NULL, *acl = NULL;
long aclcheck = !user ? ACL_POST : 0;
/*
* check to see if mailbox exists and we can append to it:
@@ -1061,8 +1062,9 @@ FILE *spoolfile(message_data_t *msgdata)
(don't bother if we're only a proxy) */
n = isproxy ? 0 : msg_getnumrcpt(msgdata);
for (i = 0; !f && (i < n); i++) {
- char namebuf[MAX_MAILBOX_BUFFER] = "", *server;
+ char namebuf[MAX_MAILBOX_BUFFER] = "";
const char *user, *domain, *mailbox;
+ char *server = NULL;
int r;
/* build the mailboxname from the recipient address */