[Pidgin] #7181: Crash in logout in _purple_blist_hbuddy_equal (blist.c)

Pidgin trac at pidgin.im
Tue Sep 23 14:21:53 EDT 2008


#7181: Crash in logout in _purple_blist_hbuddy_equal (blist.c)
-------------------+--------------------------------------------------------
Reporter:  emilal  |        Type:  defect     
  Status:  new     |   Component:  libpurple  
 Version:  2.5.1   |    Keywords:  crash blist
-------------------+--------------------------------------------------------
 Libpurple crashes when is trying to compare with NULL string

 In !strcmp(hb1->name, hb2->name)) [[BR]]

 hb1->name is NULL

 {{{
 (gdb) bt full
 #0  0x00ce8d58 in strcmp () from /lib/tls/libc.so.6
 No symbol table info available.
 #1  0x009a8755 in _purple_blist_hbuddy_equal (hb1=0x9fc8c18,
 hb2=0xbffe8210) at blist.c:84
 No locals.
 #2  0x00221baf in g_hash_table_remove_internal (hash_table=0x9ce52c8,
 key=0xbffe8210, notify=1) at ghash.c:137
         node_ptr = (GHashNode **) 0xbffe8248
         __PRETTY_FUNCTION__ = "g_hash_table_remove_internal"
 #3  0x009ac7d5 in purple_blist_remove_buddy (buddy=0x9ec2298) at
 blist.c:1855
         ops = (PurpleBlistUiOps *) 0x80b4940
         node = (PurpleBlistNode *) 0x9ec2298
         cnode = (PurpleBlistNode *) 0xa8fdc00
         gnode = (PurpleBlistNode *) 0xa29ff20
         contact = (PurpleContact *) 0xa8fdc00
         group = (PurpleGroup *) 0xa29ff20
         hb = {name = 0xa7169e8 "confusing_sk8r", account = 0xa6d1c20,
 group = 0xa29ff20}
         __PRETTY_FUNCTION__ = "purple_blist_remove_buddy"
 #4  0x009a7126 in purple_accounts_delete (account=0xa6d1c20) at
 account.c:2543
         b = (PurpleBuddy *) 0x9ec2298
         bnode_next = (PurpleBlistNode *) 0x0
         cnode_next = (PurpleBlistNode *) 0xa3e3f20
         gnode = (PurpleBlistNode *) 0xa29ff20
         cnode = (PurpleBlistNode *) 0xa8fdc00
         bnode = (PurpleBlistNode *) 0x9ec2298
         iter = (GList *) 0xbffe8510
         __PRETTY_FUNCTION__ = "purple_accounts_delete"

 (gdb) f 1
 #1  0x009a8755 in _purple_blist_hbuddy_equal (hb1=0x9fc8c18,
 hb2=0xbffe8210) at blist.c:84
 84      in blist.c
 (gdb) p hb1->name
 $9 = 0x0
 (gdb) p *hb1
 $10 = {name = 0x0, account = 0xa836f90, group = 0xa80eb98}
 (gdb) p *hb1->account
 $11 = {username = 0xa7f5c30 "11111111", alias = 0x9efa9e8
 "�\221泰森�\215�\237�\221", password = 0xae0b1e0 "xxxxxxx",
   user_info = 0x0, buddy_icon_path = 0x0, remember_pass = 0, protocol_id =
 0xaaae690 "prpl-qq", gc = 0xa6bc608, disconnecting = 0,
   settings = 0xa8f9790, ui_settings = 0xac7a4c8, proxy_info = 0x0, permit
 = 0x0, deny = 0x0, perm_deny = 1, status_types = 0xb015590,
   presence = 0xaafb240, system_log = 0x0, ui_data = 0x0, registration_cb =
 0, registration_cb_user_data = 0x0, priv = 0x9f5ae40}
 (gdb)
 }}}

-- 
Ticket URL: <http://developer.pidgin.im/ticket/7181>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list