# HG changeset patch # User Florian Quze # Date 1270924125 0 # Node ID ab168cf2713e04c509969d725f491467df6f5e28 # Parent 7dd09af2bbc98a29473dd800c82029c957b165e1 oscar: In aim_parse_extstatus, always pass the type (always expected). Patch and valgrind log from Florian Quze, 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== committer: Paul Aurich diff -r 7dd09af2bbc9 -r ab168cf2713e libpurple/protocols/oscar/family_oservice.c --- a/libpurple/protocols/oscar/family_oservice.c Sat Apr 10 03:12:45 2010 +0000 +++ b/libpurple/protocols/oscar/family_oservice.c Sat Apr 10 18:28:45 2010 +0000 @@ -1120,7 +1120,7 @@ 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; }