Mon, 16 Jul 2007 21:11:45 +0000
aim_locate_finduserinfo() can return NUL (particularly if userinfo->sn is NULL), which leads to the crash in AdiumTicket:7346. Handle this possibility rather than crashing.
| libpurple/protocols/oscar/family_locate.c | file | annotate | diff | comparison | revisions |
--- a/libpurple/protocols/oscar/family_locate.c Mon Jul 16 21:11:23 2007 +0000 +++ b/libpurple/protocols/oscar/family_locate.c Mon Jul 16 21:11:45 2007 +0000 @@ -1264,10 +1264,13 @@ * this buddy's info explicitly, then notify them that we have info * for this buddy. */ - was_explicit = aim_locate_gotuserinfo(od, conn, userinfo2->sn); - if (was_explicit == TRUE) - if ((userfunc = aim_callhandler(od, snac->family, snac->subtype))) - ret = userfunc(od, conn, frame, userinfo2); + if (userinfo2 != NULL) + { + was_explicit = aim_locate_gotuserinfo(od, conn, userinfo2->sn); + if (was_explicit == TRUE) + if ((userfunc = aim_callhandler(od, snac->family, snac->subtype))) + ret = userfunc(od, conn, frame, userinfo2); + } return ret; }