# HG changeset patch # User Sadrul Habib Chowdhury # Date 1246093736 0 # Node ID 52afd38e64d40847d166b459bd6cc6d9c9fdbfa7 # Parent 25db53cfc12c6d8eb5f253c56613a03bb3cbf2b0 Create a string only when necessary. Fixes a small possible leak. diff -r 25db53cfc12c -r 52afd38e64d4 libpurple/protocols/yahoo/yahoo.c --- a/libpurple/protocols/yahoo/yahoo.c Sat Jun 27 05:45:43 2009 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Sat Jun 27 09:08:56 2009 +0000 @@ -745,7 +745,6 @@ gint val_11 = 0; struct yahoo_data *yd = gc->proto_data; gboolean msn = FALSE; - char *msn_from = NULL; account = purple_connection_get_account(gc); @@ -778,17 +777,16 @@ return; } - if(msn) - msn_from = g_strconcat("msn/", from, NULL); - if (!g_ascii_strncasecmp(msg, "TYPING", strlen("TYPING")) && (purple_privacy_check(account, from))) { if(msn) { + char *msn_from = g_strconcat("msn/", from, NULL); if (*stat == '1') serv_got_typing(gc, msn_from, 0, PURPLE_TYPING); else serv_got_typing_stopped(gc, msn_from); + g_free(msn_from); } else { if (*stat == '1') @@ -822,8 +820,6 @@ purple_conversation_write(conv, NULL, buf, PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NOTIFY, time(NULL)); g_free(buf); } - - g_free(msn_from); }