# HG changeset patch # User Paul Aurich # Date 1232418823 0 # Node ID 08a2a4029f204006b4f85f4a0495b94ae20182e8 # Parent 5e77f8512f5b3dc344c3b6cddee7a79f2d162b19 Fix a segfault when deleting an account without an associated prpl. Reported by adi1 in #pidgin. Fixes #8180. diff -r 5e77f8512f5b -r 08a2a4029f20 ChangeLog --- a/ChangeLog Mon Jan 19 01:05:27 2009 +0000 +++ b/ChangeLog Tue Jan 20 02:33:43 2009 +0000 @@ -1,6 +1,9 @@ Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul version 2.5.5 (??/??/????): + libpurple: + * Fix a crash when removing an account with an unknown protocol id. + Finch: * Allow rebinding keys to change the focused widget (details in the man-page, look for GntBox::binding) diff -r 5e77f8512f5b -r 08a2a4029f20 libpurple/blist.c --- a/libpurple/blist.c Mon Jan 19 01:05:27 2009 +0000 +++ b/libpurple/blist.c Tue Jan 20 02:33:43 2009 +0000 @@ -1811,7 +1811,7 @@ PurpleGroup *group; struct _purple_hbuddy hb; PurplePlugin *prpl; - PurplePluginProtocolInfo *prpl_info; + PurplePluginProtocolInfo *prpl_info = NULL; g_return_if_fail(buddy != NULL); @@ -1872,7 +1872,8 @@ * can free proto_data */ prpl = purple_find_prpl(purple_account_get_protocol_id(buddy->account)); - prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); + if (prpl) + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); if (prpl_info && prpl_info->buddy_free) prpl_info->buddy_free(buddy);