]> granicus.if.org Git - mutt/commitdiff
Fix BODY->charset memory leaks.
authorKevin McCarthy <kevin@8t8.us>
Wed, 13 Jul 2016 00:46:09 +0000 (17:46 -0700)
committerKevin McCarthy <kevin@8t8.us>
Wed, 13 Jul 2016 00:46:09 +0000 (17:46 -0700)
mutt_get_content_info() was directly setting charset without freeing the previous value.

mutt_free_body() was not freeing the charset.

muttlib.c
sendlib.c

index aed6d56490e25890847db1013ce6765312c7c118..7cf062574fcc7aca3da31e0329ee939513814908 100644 (file)
--- a/muttlib.c
+++ b/muttlib.c
@@ -178,6 +178,7 @@ void mutt_free_body (BODY **p)
     }
 
     FREE (&b->filename);
+    FREE (&b->charset);
     FREE (&b->content);
     FREE (&b->xtype);
     FREE (&b->subtype);
index 939919caf36621f4327c215e9ccd7c2837a21436..8b96ce78df84db99c2ab6db2b9e2471b013c72d3 100644 (file)
--- a/sendlib.c
+++ b/sendlib.c
@@ -903,6 +903,7 @@ CONTENT *mutt_get_content_info (const char *fname, BODY *b)
        mutt_canonical_charset (chsbuf, sizeof (chsbuf), tocode);
        mutt_set_parameter ("charset", chsbuf, &b->parameter);
       }
+      FREE (&b->charset);
       b->charset = fromcode;
       FREE (&tocode);
       safe_fclose (&fp);