bug in msn plugin
yiğit boyar
yboyar at gmail.com
Tue Sep 14 20:46:02 EDT 2010
We have a list of bots running on top of libpurple and recently, some of the
msn bots were failing.
I've digged into the issue and found the following:
In msn_oim_report_to_user function inside the libpurple/protocols/msn/oim.c
file, line 603, the function does not check if the message body is null or
not.
I don't know how a null msg comes but upon receiving that msg line 656 gets
a segmentation fault:
decode_msg = (char *)purple_base64_decode(message->body, &body_len);
here is the debug log before the crash:
(17:42:50) soap: POST //rsi/rsi.asmx HTTP/1.1
SOAPAction: http://www.hotmail.msn.com/ws/2004/09/oim/rsi/GetMessage
Content-Type:text/xml; charset=utf-8
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Accept: */*
Host: rsi.hotmail.com
Content-Length: 892
Connection: Keep-Alive
Cache-Control: no-cache
<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsd='
http://www.w3.org/2001/XMLSchema'><soap:Header><PassportCookie xmlns='
http://www.hotmail.msn.com/ws/2004/09/oim/rsi'><t>9fdlzAgGeHTactqFjdsB2vFN31LL3AbOuVzegbpg4ZoNQIAQr2Zxwf5sbmujGy5llxlBaM5bgAEIuc2ECrvKJOnkFiA6UiRo2SWJ5bRyi9o1UZMqh8XEhyAo7z6PBKwakfHlTnTsivf53XBn3gJoLWbA$$</t><p>9fDU!wGuSD0udoM7M28lmfRT!EmC0Ql5U6TUhLFI5DLVqz1qpxIdNvRd*4jLHb!Ptq3qF7qIR0!qBXo0mnVc2b6oofyqi7qeI3HvoGAU1YyA5NSCwU39wagAHwC4N*xqxV9B9zZBTP!qSiP8I7DI8d60!895W6md7BlTLcVUIk*yoXrsw4adHiEEUrvukgyQkCpTSw!5KsttTawAecKS*Frnm0Ei9LzwhJ</p></PassportCookie></soap:Header><soap:Body><GetMessage
xmlns='http://www.hotmail.msn.com/ws/2004/09/oim/rsi
'><messageId>3FF790AE-B865-4EBF-B599-452536F1C683</messageId><alsoMarkAsRead>false</alsoMarkAsRead></GetMessage></soap:Body></soap:Envelope>
(17:42:50) msn: S: SB 001: USR 1 OK *example at example.com* *username*
(17:42:50) msn: C: SB 001: CAL 2 *example2 at example2.com*
(17:42:51) msn: S: SB 001: CAL 2 RINGING 1523626997
(17:42:51) soap: read 1425 bytes
(17:42:51) soap: current HTTP/1.1 200 OK
Connection: close
Date: Wed, 15 Sep 2010 00:42:51 GMT
Server: Microsoft-IIS/6.0
P3P:CP="BUS CUR CONo FIN IVDo ONL OUR PHY SAMo TELo"
xxn:10
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Content-Length: 1114
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
http://www.w3.org/2001/XMLSchema"><soap:Body><GetMessageResponse xmlns="
http://www.hotmail.msn.com/ws/2004/09/oim/rsi"><GetMessageResult>X-Originating-IP:
[88.234.212.152]
X-Originating-Email: []
X-Message-Routing:
eZqPogY4VCfJMli9auZVI8wsf+FU0RYdmyjHW9qle80kOvlj/TCwrNJcuiCpAjVnJcYTE
From: =?utf-8?B?QWltZWU=?=
<a1_naylor1986 at hotmail.com<lt%3Ba1_naylor1986 at hotmail.com>
>
To: <sd98 at speeddate-im.com <lt%3Bsd98 at speeddate-im.com>>
Subject:
X-OIM-originatingSource: 88.234.212.152
X-DS-server: BLU144-DS8
X-OIMProxy: MSNMSGR
Message-ID: <BLU144-DS8936934934 at BLU144-DS8.phx.gbl>
X-OriginalArrivalTime: 31 Aug 2010 22:51:42.9501 (UTC)
FILETIME=[14C70E0C:01CB495F]
Date: 31 Aug 2010 15:51:42 -0700
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OIM-Message-Type: OfflineMessage
X-OIM-Run-Id: {cff6d859-e421-4925-898b-439cef872303}
X-OIM-Sequence-Num: 22
</GetMessageResult></GetMessageResponse></soap:Body></soap:Envelope>
(17:42:51) soap: ignoring malformed line: P3P:CP="BUS CUR CONo FIN IVDo ONL
OUR PHY SAMo TELo"
(17:42:51) soap: ignoring malformed line: xxn:10
(17:42:51) msn: oim body:{(null)}
dns[457]: Oops, father has gone, wait for me, wait...!
Segmentation fault
yigit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://pidgin.im/pipermail/support/attachments/20100914/e109e674/attachment.html>
More information about the Support
mailing list