changeset 26762:69d5d6ab4229

Patch from Stefan Becker to plug a couple of memory leaks in libpurple/mime.c Closes #9088
author Stu Tomlinson <stu@nosnilmot.com>
date Fri, 01 May 2009 16:00:35 +0000
parents 4a592e898162
children 998f471bb801
files COPYRIGHT libpurple/mime.c
diffstat 2 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/COPYRIGHT	Thu Apr 30 14:44:01 2009 +0000
+++ b/COPYRIGHT	Fri May 01 16:00:35 2009 +0000
@@ -30,6 +30,7 @@
 Derek Battams
 Martin Bayard
 Curtis Beattie
+Stefan Becker
 Carlos Bederian
 Dave Bell
 Igor Belyi
--- a/libpurple/mime.c	Thu Apr 30 14:44:01 2009 +0000
+++ b/libpurple/mime.c	Fri May 01 16:00:35 2009 +0000
@@ -110,7 +110,7 @@
 fields_loadline(struct mime_fields *mf, const char *line, gsize len)
 {
 	/* split the line into key: value */
-	char *key, *val;
+	char *key, *newkey, *val;
 	char **tokens;
 
 	/* feh, need it to be NUL terminated */
@@ -126,17 +126,18 @@
 
 	/* normalize whitespace (sorta) and trim on key and value */
 	tokens = g_strsplit(key, "\t\r\n", 0);
-	key = g_strjoinv("", tokens);
-	key = g_strstrip(key);
+	newkey = g_strjoinv("", tokens);
+	g_strstrip(newkey);
 	g_strfreev(tokens);
 
 	tokens = g_strsplit(val, "\t\r\n", 0);
 	val = g_strjoinv("", tokens);
-	val = g_strstrip(val);
+	g_strstrip(val);
 	g_strfreev(tokens);
 
-	fields_set(mf, key, val);
+	fields_set(mf, newkey, val);
 
+	g_free(newkey);
 	g_free(key);
 	g_free(val);
 }
@@ -436,6 +437,8 @@
 
 		b = tail;
 	}
+
+	g_free(bnd);
 }