Menu

#505 Access Violation in SIPConnection::CheckINVITE

Development_Branch
closed-fixed
nobody
None
5
2014-04-02
2014-04-01
No

Stack trace:

ptlibd.dll!PString::operator==(const PString & str={...}) Line 93   C++

opald.dll!SIPConnection::CheckINVITE(const SIP_PDU & request={...}) Line 2789 C++
opald.dll!SIPEndPoint::OnReceivedPDU(SIP_PDU * pdu=0x054d1ea8) Line 733 C++
opald.dll!SIPEndPoint::HandlePDU(const PSafePtr<OpalTransport,PSafePtrBase> & transport={...}) Line 370 C++
opald.dll!SIPEndPoint::NewIncomingConnection(OpalListener & __formal={...}, const PSafePtr<OpalTransport,PSafePtrBase> & transport={...}) Line 198 C++
opald.dll!OpalEndPoint::NewIncomingConnection_PNotifier::Call(PObject & note={...}, const PSafePtr<OpalTransport,PSafePtrBase> & extra={...}) Line 226 C++
opald.dll!PNotifierTemplate<PSafePtr<OpalTransport,PSafePtrBase> const &>::operator()(PObject & notifier={...}, const PSafePtr<OpalTransport,PSafePtrBase> & extra={...}) Line 136 C++
opald.dll!OpalListener::ListenForConnections() Line 620 C++
opald.dll!PThreadObj<OpalListener>::Main() Line 664 C++
ptlibd.dll!PThread::MainFunction(void * threadPtr=0x034788f0) Line 853 C++
msvcr110d.dll!_callthreadstartex() Line 354 C

It occurs in SIPConnection::CheckINVITE on line

if (m_lastReceivedINVITE->GetTransactionID() == request.GetTransactionID()) {

I see that m_lastReceivedINVITE is not NULL, but contains invalid object data, so it seems like m_lastReceivedINVITE is destroyed (and there is no lock for the SIPConnection while processing SIPConnection::CheckINVITE).

Discussion

  • Valeriy V. Argunov

    Patch #271 fixes this.

     
  • Robert Jongbloed

    • status: open --> closed-fixed
     

Log in to post a comment.