pidgin: e3dd3670: If we get an error SNAC on the ICBM fami...
markdoliner at pidgin.im
markdoliner at pidgin.im
Wed May 19 21:45:33 EDT 2010
-----------------------------------------------------------------
Revision: e3dd36706068f3b8eabd630ff71d270c145cce42
Ancestor: 6c2368ad4315c5277c41916c2be642f8aa1894e2
Author: markdoliner at pidgin.im
Date: 2010-05-20T01:39:25
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/e3dd36706068f3b8eabd630ff71d270c145cce42
Modified files:
libpurple/protocols/oscar/family_icbm.c
ChangeLog:
If we get an error SNAC on the ICBM family and it's missing buddy name then
don't fallthrough to the default error handler in misc.c. This was causing
purple_parse_msgerr() in oscar.c to get called with different va_args than
it was expecting, which caused a crash. Specifically when trying to fetch
the ICQ x-status of an offline buddy.
Fixes #11863. This is nosnilmot's patch, I believe. I had no part in it,
other than verifying that I do believe it'll fix the crash.
-------------- next part --------------
============================================================
--- libpurple/protocols/oscar/family_icbm.c fcbebddf7bb56d37e2e89ffa10da1b73e63cf833
+++ libpurple/protocols/oscar/family_icbm.c 62126e23e6971a85d9b599c7ca61675a008e6f9b
@@ -166,20 +166,20 @@ error(OscarData *od, FlapConnection *con
if (!(snac2 = aim_remsnac(od, snac->id))) {
purple_debug_misc("oscar", "icbm error: received response from unknown request!\n");
- return 0;
+ return 1;
}
if (snac2->family != SNAC_FAMILY_ICBM) {
purple_debug_misc("oscar", "icbm error: received response from invalid request! %d\n", snac2->family);
g_free(snac2->data);
g_free(snac2);
- return 0;
+ return 1;
}
if (!(bn = snac2->data)) {
purple_debug_misc("oscar", "icbm error: received response from request without a buddy name!\n");
g_free(snac2);
- return 0;
+ return 1;
}
reason = byte_stream_get16(bs);
More information about the Commits
mailing list