Mercurial > pidgin
changeset 16015:de619a9523f9
sf patch #1694728, from Andrew Gaul
plug 2 memleaks when setting icons. One of them
was leaking the size of the icon for Yahoo!, the other
was leaking a patch to an icon on the local file
system for oscar. Fantastico
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 08 Apr 2007 22:29:42 +0000 |
parents | 85d93833a349 |
children | b60aaf9da8b1 |
files | libpurple/protocols/oscar/oscar.c libpurple/protocols/yahoo/yahoo_picture.c |
diffstat | 2 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/oscar/oscar.c Sun Apr 08 15:05:11 2007 +0000 +++ b/libpurple/protocols/oscar/oscar.c Sun Apr 08 22:29:42 2007 +0000 @@ -4761,7 +4761,8 @@ PurpleBuddy *b; struct aim_ssi_item *curitem; guint32 tmp; - const char *icon_path, *cached_icon_path; + const char *icon_path; + char *cached_icon_path; va_list ap; guint16 fmtver, numitems; guint32 timestamp; @@ -4997,6 +4998,7 @@ icon_path = purple_account_get_buddy_icon(account); cached_icon_path = purple_buddy_icons_get_full_path(icon_path); oscar_set_icon(gc, cached_icon_path); + g_free(cached_icon_path); return 1; }
--- a/libpurple/protocols/yahoo/yahoo_picture.c Sun Apr 08 15:05:11 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo_picture.c Sun Apr 08 22:29:42 2007 +0000 @@ -544,6 +544,7 @@ int expire = purple_account_get_int(account, YAHOO_PICEXPIRE_SETTING, 0); const char *oldurl = purple_account_get_string(account, YAHOO_PICURL_SETTING, NULL); + g_free(icondata); yd->picture_checksum = g_string_hash(s); if ((yd->picture_checksum == oldcksum) &&