pidgin: 0b212d0b: I got a crash happened at dereferencing ...

khc at pidgin.im khc at pidgin.im
Sat Nov 15 15:25:24 EST 2008


-----------------------------------------------------------------
Revision: 0b212d0b7f8c5aab4b8e6bae9dadfe410620f552
Ancestor: ab5ea3be38a8eba7531174ceccca3023e12880f6
Author: khc at pidgin.im
Date: 2008-11-15T17:37:44
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/0b212d0b7f8c5aab4b8e6bae9dadfe410620f552

Modified files:
        libpurple/protocols/jabber/message.c

ChangeLog: 

I got a crash happened at dereferencing chat when it's NULL, I think this
happened as I got disconnected, but unfortunately I forgot to copy my
debug log.

#3  <signal handler called>
#4  0x00007fb8103f43a2 in jabber_message_parse (js=0x45b5090, packet=0x4426790)
    at message.c:615
#5  0x00007fb8103ea75f in jabber_process_packet (js=0x45b5090, 
    packet=0x7fff2338fec0) at jabber.c:215
#6  0x00007fb8103f691e in jabber_parser_element_end_libxml (
    user_data=0x45b5090, element_name=0x4675e2c "message", prefix=0x0, 
    namespace=0x4675c7a "jabber:client") at parser.c:116
#7  0x00007fb815c05fa3 in ?? () from /usr/lib/libxml2.so.2
#8  0x00007fb815c12e38 in xmlParseChunk () from /usr/lib/libxml2.so.2
#9  0x00007fb8103f6ae0 in jabber_parser_process (js=0x45b5090, 
    buf=0x7fb8106101c0 "='20081110T22:23:49'/></message><message from='devel at conference.pidgin.im/darkrain42' to='khc at hxbc.us/Home' type='groupchat' id='purpled03bd02a'><body>2.5.8, I think?</body><html xmlns='http://jabber."..., len=1440)
    at parser.c:209
#10 0x00007fb8103eb092 in jabber_recv_cb (data=0x441afb0, source=25, 
    condition=PURPLE_INPUT_READ) at jabber.c:481
#11 0x000000000046ddc5 in pidgin_io_invoke (source=0x438af30, 
    condition=G_IO_IN, data=0x4430d10) at gtkeventloop.c:78
#12 0x00007fb815f5cd3b in g_main_context_dispatch ()


-------------- next part --------------
============================================================
--- libpurple/protocols/jabber/message.c	ac733ca657c7cce25ae8c5fafc2d0bf9a1ee055a
+++ libpurple/protocols/jabber/message.c	30fd387ec6b98d85de83688fe30247481a9911c0
@@ -612,7 +612,7 @@ void jabber_message_parse(JabberStream *
 
 						if (jid) {
 							chat = jabber_chat_find(js, jid->node, jid->domain);
-							conv = chat->conv;
+							if (chat) conv = chat->conv;
 						}
 
 						jabber_id_free(jid);
@@ -644,7 +644,7 @@ void jabber_message_parse(JabberStream *
 				/* note: if there were no smileys in the incoming message, or
 				  	if receiving custom smileys is turned off, smiley_refs will
 					be NULL */
-				for (; smiley_refs ; smiley_refs = g_list_delete_link(smiley_refs, smiley_refs)) {
+				for (; conv && smiley_refs ; smiley_refs = g_list_delete_link(smiley_refs, smiley_refs)) {
 					JabberSmileyRef *ref = (JabberSmileyRef *) smiley_refs->data;
 					const gchar *cid = ref->cid;
 					const gchar *alt = ref->alt;


More information about the Commits mailing list