Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#3995 closed defect (fixed)

Pidgin crashes in jabber_caps_client_iqcb

Reported by: maniax Owned by:
Milestone: 2.3.0 Component: libpurple
Version: 2.2.2 Keywords: jabber crash
Cc:

Description

Tested with 2.2.2 on Ubuntu Gutsy, when connecting to a jabber server coredumps with the following backtrace:

#0  jabber_caps_client_iqcb (js=0x87cbcb8, packet=0x88c29a8, data=0x88b46d0) at ../../../../libpurple/protocols/jabber/caps.c:440
        query = (xmlnode *) 0x0
        child = (xmlnode *) 0xbfa03578
        iter = <value optimized out>
        userdata = <value optimized out>
#1  0xb5ef9452 in jabber_iq_parse (js=0x87cbcb8, packet=0x88c29a8) at ../../../../libpurple/protocols/jabber/iq.c:326
        query = (xmlnode *) 0x0
        error = <value optimized out>
        x = <value optimized out>
        xmlns = <value optimized out>
        type = 0x88a86a8 "error"
        id = 0x88a1c58 "purple655b5b80"
        from = 0x88a1f40 "icaci@jabber.org/QIP"
#2  0xb5f0234f in jabber_process_packet (js=0x87cbcb8, packet=0xbfa0362c) at ../../../../libpurple/protocols/jabber/jabber.c:197
        xmlns = 0x88a86c8 "jabber:client"
#3  0xb5f05539 in jabber_parser_element_end_libxml (user_data=0x87cbcb8, element_name=0x886bbf9 "iq", prefix=0x0, namespace=0x886bb5a "jabber:client")
    at ../../../../libpurple/protocols/jabber/parser.c:116
        packet = (xmlnode *) 0x88c29a8
#4  0xb746832d in ?? () from /usr/lib/libxml2.so.2
No symbol table info available.
#5  0x087cbcb8 in ?? ()
No symbol table info available.
#6  0x0886bbf9 in ?? ()
No symbol table info available.
#7  0x00000000 in ?? ()
No symbol table info available.

Change History (3)

comment:1 Changed 11 years ago by maniax

Doesn't crash if recompiled with this added at line 438 at libpurple/protocols/jabber/caps.c

if (!query) return;

(I know it's an ugly hack, but there's no handling if NULL gets returned by

        xmlnode *query = xmlnode_get_child_with_namespace(packet,"query","http://jabber.org/protocol/disco#info");

at caps.c:429.

comment:2 Changed 11 years ago by datallah@…

  • Milestone set to 2.3.0
  • Resolution set to fixed
  • Status changed from new to closed

(In 110e884c24fe3779369c410f3ad805a500c8ad79) Fix a discovery related crash. I think this still needs better error handling. Fixes #3995.

comment:3 Changed 11 years ago by datallah

  • Milestone changed from 2.3.1 to 2.3.0
Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!