pidgin: c19fc479: oscar: In aim_parse_extstatus, always pa...

darkrain42 at pidgin.im darkrain42 at pidgin.im
Sat Apr 10 14:30:54 EDT 2010


-----------------------------------------------------------------
Revision: c19fc4797c75b50e6ca495a3059e82c7d8141133
Ancestor: c846c6591cab290fd1fe5178f0085ac14858874e
Author: florian at instantbird.org
Date: 2010-04-10T18:28:45
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/c19fc4797c75b50e6ca495a3059e82c7d8141133

Modified files:
        libpurple/protocols/oscar/family_oservice.c

ChangeLog: 

oscar: In aim_parse_extstatus, always pass the type (always expected).

Patch and valgrind log from Florian Qu?ze, though IMHO this is not the
crash also linked to (http://crash-stats.instantbird.com/report/index/57fd593b-4545-4f5b-a7b6-5fe7f2100409)

==16902== Conditional jump or move depends on uninitialised value(s)
==16902==    at 0x2200BD0E: oscar_icon_req (oscar.c:6141)
==16902==    by 0x21FF10E4: aim_parse_extstatus (family_oservice.c:1123)
==16902==    by 0x21FF145D: snachandler (family_oservice.c:1160)
==16902==    by 0x21FF725D: parse_snac (flap_connection.c:765)
==16902==    by 0x21FF74F9: parse_flap (flap_connection.c:851)
==16902==    by 0x21FF7867: flap_connection_recv (flap_connection.c:986)
==16902==    by 0x21FF78D8: flap_connection_recv_cb_ssl (flap_connection.c:1009)
==16902==    by 0x21EC33B4: recv_cb (sslconn.c:157)
==16902==    by 0x21B92F78: purpleSocket::CallLibpurpleCallback() (purpleSockets.cpp:135)
==16902==    by 0x21B93B68: purpleSocket::NotifyLibPurple(short) (purpleSockets.cpp:152)
==16902==    by 0x5BF40A: NS_InvokeByIndex_P (xptcinvoke_unixish_x86.cpp:179)
==16902==    by 0x5AC277: nsProxyObjectCallInfo::Run() (nsProxyEvent.cpp:181)
==16902== 
==16902== Conditional jump or move depends on uninitialised value(s)
==16902==    at 0x2200BD14: oscar_icon_req (oscar.c:6141)
==16902==    by 0x21FF10E4: aim_parse_extstatus (family_oservice.c:1123)
==16902==    by 0x21FF145D: snachandler (family_oservice.c:1160)
==16902==    by 0x21FF725D: parse_snac (flap_connection.c:765)
==16902==    by 0x21FF74F9: parse_flap (flap_connection.c:851)
==16902==    by 0x21FF7867: flap_connection_recv (flap_connection.c:986)
==16902==    by 0x21FF78D8: flap_connection_recv_cb_ssl (flap_connection.c:1009)
==16902==    by 0x21EC33B4: recv_cb (sslconn.c:157)
==16902==    by 0x21B92F78: purpleSocket::CallLibpurpleCallback() (purpleSockets.cpp:135)
==16902==    by 0x21B93B68: purpleSocket::NotifyLibPurple(short) (purpleSockets.cpp:152)
==16902==    by 0x5BF40A: NS_InvokeByIndex_P (xptcinvoke_unixish_x86.cpp:179)
==16902==    by 0x5AC277: nsProxyObjectCallInfo::Run() (nsProxyEvent.cpp:181)
==16902== 
==16902== Conditional jump or move depends on uninitialised value(s)
==16902==    at 0x2200BE12: oscar_icon_req (oscar.c:6160)
==16902==    by 0x21FF10E4: aim_parse_extstatus (family_oservice.c:1123)
==16902==    by 0x21FF145D: snachandler (family_oservice.c:1160)
==16902==    by 0x21FF725D: parse_snac (flap_connection.c:765)
==16902==    by 0x21FF74F9: parse_flap (flap_connection.c:851)
==16902==    by 0x21FF7867: flap_connection_recv (flap_connection.c:986)
==16902==    by 0x21FF78D8: flap_connection_recv_cb_ssl (flap_connection.c:1009)
==16902==    by 0x21EC33B4: recv_cb (sslconn.c:157)
==16902==    by 0x21B92F78: purpleSocket::CallLibpurpleCallback() (purpleSockets.cpp:135)
==16902==    by 0x21B93B68: purpleSocket::NotifyLibPurple(short) (purpleSockets.cpp:152)
==16902==    by 0x5BF40A: NS_InvokeByIndex_P (xptcinvoke_unixish_x86.cpp:179)
==16902==    by 0x5AC277: nsProxyObjectCallInfo::Run() (nsProxyEvent.cpp:181)
==16902== 

-------------- next part --------------
============================================================
--- libpurple/protocols/oscar/family_oservice.c	d13997117b5621ed9be2a7044377167d8e0553ef
+++ libpurple/protocols/oscar/family_oservice.c	c6a40af622ddb11f602a143d7d6a39205e3ab415
@@ -1120,7 +1120,7 @@ aim_parse_extstatus(OscarData *od, FlapC
 		case 0x0002: { /* available message */
 			/* there is a second length that is just for the message */
 			char *msg = byte_stream_getstr(bs, byte_stream_get16(bs));
-			ret = userfunc(od, conn, frame, msg);
+			ret = userfunc(od, conn, frame, type, msg);
 			g_free(msg);
 			} break;
 		}


More information about the Commits mailing list