]> git.notmuchmail.org Git - notmuch/blobdiff - message.c
message.c: Free leaked memory in notmuch_message object
[notmuch] / message.c
index 1a5994ff5a03f721b8ed0474a092328e73880db2..e6488a3711cfdb9d976421878c2d1cc1911638c0 100644 (file)
--- a/message.c
+++ b/message.c
@@ -104,6 +104,12 @@ notmuch_message_close (notmuch_message_t *message)
     if (message == NULL)
        return;
 
     if (message == NULL)
        return;
 
+    if (message->line)
+       free (message->line);
+
+    if (message->value.size)
+       free (message->value.str);
+
     if (message->headers)
        g_hash_table_unref (message->headers);
 
     if (message->headers)
        g_hash_table_unref (message->headers);
 
@@ -273,8 +279,9 @@ notmuch_message_get_header (notmuch_message_t *message,
 
        match = (strcasecmp (header, header_desired) == 0);
 
 
        match = (strcasecmp (header, header_desired) == 0);
 
-       g_hash_table_insert (message->headers, header,
-                            xstrdup (message->value.str));
+       value = xstrdup (message->value.str);
+
+       g_hash_table_insert (message->headers, header, value);
 
        if (match)
            return value;
 
        if (match)
            return value;