Mercurial > pidgin.yaz
comparison libpurple/protocols/jabber/presence.c @ 26924:33f98d662db8
Don't crash when resource is NULL. Thanks, Marcus!
#0 0x00007ffe6d203a92 in strcmp () from /lib/libc.so.6
#1 0x00007ffe5c588406 in jabber_buddy_find_resource (
jb=<value optimized out>, resource=0x1 <Address 0x1 out of bounds>)
at buddy.c:143
#2 0x00007ffe5c5a7303 in jabber_presence_set_capabilities (info=0x0,
exts=0x0, userdata=0x11da700) at presence.c:410
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Thu, 07 May 2009 17:04:59 +0000 |
parents | 0c1983abe991 |
children | d0a049ede31e |
comparison
equal
deleted
inserted
replaced
26923:b0f61cb90f62 | 26924:33f98d662db8 |
---|---|
402 static void | 402 static void |
403 jabber_presence_set_capabilities(JabberCapsClientInfo *info, GList *exts, | 403 jabber_presence_set_capabilities(JabberCapsClientInfo *info, GList *exts, |
404 JabberPresenceCapabilities *userdata) | 404 JabberPresenceCapabilities *userdata) |
405 { | 405 { |
406 JabberBuddyResource *jbr; | 406 JabberBuddyResource *jbr; |
407 char *resource = g_utf8_strrchr(userdata->from, -1, '/'); | 407 char *resource = g_utf8_strchr(userdata->from, -1, '/'); |
408 resource += 1; | 408 |
409 if (resource) | |
410 resource += 1; | |
409 | 411 |
410 jbr = jabber_buddy_find_resource(userdata->jb, resource); | 412 jbr = jabber_buddy_find_resource(userdata->jb, resource); |
411 if (!jbr) { | 413 if (!jbr) { |
412 g_free(userdata->from); | 414 g_free(userdata->from); |
413 g_free(userdata); | 415 g_free(userdata); |