# HG changeset patch # User Stu Tomlinson # Date 1241193955 0 # Node ID 13d8b6c6ae42eaed28eeab34ea0b94beae6143e1 # Parent 65e7395d420eea07d2652ee1f0957cde1c0e323b applied changes from 8567515a55af9b920b1ff380fe95c5f9c138f4ec through 277dbfa504b60a873008deb330ed734a384e33f5 Patch from Stefan Becker to plug a couple of memory leaks in libpurple/mime.c References #9088 diff -r 65e7395d420e -r 13d8b6c6ae42 COPYRIGHT --- a/COPYRIGHT Thu Apr 30 22:53:06 2009 +0000 +++ b/COPYRIGHT Fri May 01 16:05:55 2009 +0000 @@ -30,6 +30,7 @@ Derek Battams Martin Bayard Curtis Beattie +Stefan Becker Dave Bell Igor Belyi Brian Bernas diff -r 65e7395d420e -r 13d8b6c6ae42 libpurple/mime.c --- a/libpurple/mime.c Thu Apr 30 22:53:06 2009 +0000 +++ b/libpurple/mime.c Fri May 01 16:05:55 2009 +0000 @@ -113,7 +113,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 */ @@ -129,17 +129,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); } @@ -439,6 +440,8 @@ b = tail; } + + g_free(bnd); }