smtp_do_bounce(): don't loose msg['A'] when overwriting its content.
authorWilfried Goesgens <dothebart@citadel.org>
Mon, 15 Nov 2010 11:41:55 +0000 (12:41 +0100)
committerWilfried Goesgens <dothebart@citadel.org>
Tue, 16 Nov 2010 21:45:57 +0000 (22:45 +0100)
citadel/modules/smtp/serv_smtp.c

index fdd20889efc2585131e6f85a6cfacdeffebef7d3..bd2cb71787116170b537d247b06088fe687fbadf 100644 (file)
@@ -1480,6 +1480,8 @@ void smtp_do_bounce(char *instr) {
         StrBufAppendBufPlain(BounceMB, HKEY("--"), 0);
        StrBufAppendBuf(BounceMB, boundary, 0);
        StrBufAppendBufPlain(BounceMB, HKEY("--\r\n"), 0);
+       if (bmsg->cm_fields['A'] != NULL)
+               free(bmsg->cm_fields['A']);
        bmsg->cm_fields['A'] = SmashStrBuf(&BounceMB);
        /* Deliver the bounce if there's anything worth mentioning */
        CtdlLogPrintf(CTDL_DEBUG, "num_bounces = %d\n", num_bounces);