smtp_do_bounce(): don't loose msg['A'] when overwriting its content.
[citadel.git] / 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);