Mercurial > pidgin
changeset 24448:71c42ce1a1df
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@conference.pidgin.im/darkrain42' to='khc@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 ()
author | Ka-Hing Cheung <khc@hxbc.us> |
---|---|
date | Sat, 15 Nov 2008 17:37:44 +0000 |
parents | d72c185d0be3 |
children | 5713cca010d5 |
files | libpurple/protocols/jabber/message.c |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/message.c Sat Nov 15 16:15:33 2008 +0000 +++ b/libpurple/protocols/jabber/message.c Sat Nov 15 17:37:44 2008 +0000 @@ -612,7 +612,7 @@ 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 @@ /* 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;