< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate] crash after receiving invalid Via line


The stack is crashing when receiving a request with a via line equal to
"Via: ".  The actual crash occurs in SipMessage.cxx:435,
SipMessage::getRFC2543TransactionId, when accessing the via header.  The
header exists in the mheaders container of the SipMessage, but it does not
contain any values, so the front() call on line 435 fails.

Can some initial checking be done in the MsgHeaderScanner.cxx,
processMsgHeaderStatusLine() to drop this message?

Thanks,

-Justin



Example request:

CANCEL sip:dest@xxxxxxxxxxxx SIP/2.0
Via: 
From: "12345" <sip:12345@xxxxxxxxxxxx>
To: <sip:dest@xxxxxxxxxxxx>
Call-ID: D71644F5-560F-44BE-AB36-F5FF7790A349@xxxxxxxxxxxx
Date: Fri, 03 Nov 2006 23:01:23 GMT
CSeq: 0 CANCEL
Contact: <sip:12345@xxxxxxxxxxxx:5060>
Content-Length: 0