patch from Andrew Gaul that fixes a memleak, we weren't free'ing this when

Sun, 08 Jun 2008 21:54:56 +0000

author
Ka-Hing Cheung <khc@pidgin.im>
date
Sun, 08 Jun 2008 21:54:56 +0000
changeset 23464
9be1a1116c15
parent 23463
296f09306ca3
child 23465
e20729245830

patch from Andrew Gaul that fixes a memleak, we weren't free'ing this when
we can't connect to fetch the image, I think:

==2802== 34 (24 direct, 10 indirect) bytes in 1 blocks are definitely lost in loss record 48 of 289
==2802== at 0x4A05854: calloc (vg_replace_malloc.c:397)
==2802== by 0x331303F849: g_malloc0 (in /lib64/libglib-2.0.so.0.1600.3)
==2802== by 0xE653A86: yahoo_process_picture (yahoo_picture.c:130)
==2802== by 0xE6474C4: yahoo_packet_process (yahoo.c:2448)
==2802== by 0xE648A42: yahoo_pending (yahoo.c:2575)
==2802== by 0x461B9D: pidgin_io_invoke (gtkeventloop.c:78)
==2802== by 0x331303749A: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.1600.3)
==2802== by 0x331303AC7C: (within /lib64/libglib-2.0.so.0.1600.3)
==2802== by 0x331303B1AC: g_main_loop_run (in /lib64/libglib-2.0.so.0.1600.3)
==2802== by 0x3317584887: gtk_main (in /usr/lib64/libgtk-x11-2.0.so.0.1200.9)
==2802== by 0x4788A7: main (gtkmain.c:893)

libpurple/protocols/yahoo/yahoo_picture.c file | annotate | diff | comparison | revisions
--- a/libpurple/protocols/yahoo/yahoo_picture.c	Sun Jun 08 21:44:50 2008 +0000
+++ b/libpurple/protocols/yahoo/yahoo_picture.c	Sun Jun 08 21:54:56 2008 +0000
@@ -137,6 +137,9 @@
 		if (url_data != NULL) {
 			yd = gc->proto_data;
 			yd->url_datas = g_slist_prepend(yd->url_datas, url_data);
+		} else {
+			g_free(data->who);
+			g_free(data);
 		}
 	} else if (who && send_icon_info) {
 		yahoo_send_picture_info(gc, who);

mercurial