# HG changeset patch # User Ka-Hing Cheung # Date 1212962096 0 # Node ID a61bb76597fce859c3e578eda5599645996a6bc8 # Parent 30deb89c5a76f810010f1289ab0e4a9e2c12e429 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) diff -r 30deb89c5a76 -r a61bb76597fc libpurple/protocols/yahoo/yahoo_picture.c --- 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);