Blame SOURCES/cyrus-imapd-2.4.17-free_body_leak.patch

dd91a2
diff -up cyrus-imapd-2.4.17/imap/imapd.c.renaud cyrus-imapd-2.4.17/imap/imapd.c
dd91a2
--- cyrus-imapd-2.4.17/imap/imapd.c.renaud	2017-05-02 16:17:54.000000000 +0200
dd91a2
+++ cyrus-imapd-2.4.17/imap/imapd.c	2017-05-05 09:00:31.000000000 +0200
dd91a2
@@ -3446,7 +3446,10 @@ void cmd_append(char *tag, char *name, c
dd91a2
 				     (const char **) stage[i]->flag,
dd91a2
 				     stage[i]->nflags, 0);
dd91a2
 	    }
dd91a2
-	    if (body) message_free_body(body);
dd91a2
+	    if (body) {
dd91a2
+		message_free_body(body);
dd91a2
+		free(body);
dd91a2
+	    }
dd91a2
 	}
dd91a2
 
dd91a2
 	if (!r) {
dd91a2
@@ -9745,6 +9748,7 @@ struct searchargs *s;
dd91a2
     freestrlist(s->cc);
dd91a2
     freestrlist(s->bcc);
dd91a2
     freestrlist(s->subject);
dd91a2
+    freestrlist(s->messageid);
dd91a2
     freestrlist(s->body);
dd91a2
     freestrlist(s->text);
dd91a2
     freestrlist(s->header_name);