From: Anton Khirnov <anton@khirnov.net>
Date: Sat, 28 May 2011 21:51:51 +0000 (-0700)
Subject: lib/message-file: plug three memleaks.
X-Git-Tag: debian/0.6_254~56
X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=d3fdb76c8d5e1535ead0086821775cf7809d6e1c;p=notmuch.git

lib/message-file: plug three memleaks.

Signed-off-by: Jameson Graef Rollins <jrollins@finestructure.net>
---

diff --git a/lib/message-file.c b/lib/message-file.c
index 7722832e..99505c11 100644
--- a/lib/message-file.c
+++ b/lib/message-file.c
@@ -341,12 +341,17 @@ notmuch_message_file_get_header (notmuch_message_file_t *message,
 		strncpy(combined_header,header_sofar,hdrsofar);
 		*(combined_header+hdrsofar) = ' ';
 		strncpy(combined_header+hdrsofar+1,decoded_value,newhdr+1);
+		free (decoded_value);
 		g_hash_table_insert (message->headers, header, combined_header);
 	    }
 	} else {
 	    if (header_sofar == NULL) {
 		/* Only insert if we don't have a value for this header, yet. */
 		g_hash_table_insert (message->headers, header, decoded_value);
+	    } else {
+		free (header);
+		free (decoded_value);
+		decoded_value = header_sofar;
 	    }
 	}
 	/* if we found a match we can bail - unless of course we are