On Mon, 2006-11-06 at 14:52 +0100, Andrzej Ciarkowski wrote:
> Hello,
> There seems to be a bug in SipRefreshMgr.cpp lines 1261 - 1275
> (media-update branch):
>
> SipMessage * msgInList = NULL;
>
> // Log Failures
> syslog(FAC_REFRESH_MGR, PRI_ERR, "unable to send %s
> (transport):\ncallid=%s",
> method.data(), callid.data()) ;
>
> //reschedule only if expires value is not zero otherwise it means
> we just did an unregister
> if ( !isExpiresZero(sipMsg) )
> {
> sendToObservers(eventMessage, msgInList);
>
> // try again after default time out
> rescheduleAfterTime(msgInList, FAILED_PERCENTAGE_TIMEOUT);
> }
> messageProcessed = TRUE;
>
> Pointer msgInList is never assigned any value and sendToObservers() is
> effectively called with NULL pointer, which results in Access
> Violation. I'm not sure what should be the exact solution here, as I'm
> not very familiar with this code (I'm evaluating sipXtapi code as a
> possible base for SIP client).
I've tried to track down why that is, and it goes back to a mass merge
that was done over a year ago, so I don't have good history information.
But it does look like this block of lines has been lost:
// Log Failures
syslog(FAC_REFRESH_MGR, PRI_ERR, "unable to send %s
(transport):\ncallid=%s",
method.data(), callid.data()) ;
-----
if ( method.compareTo(SIP_REGISTER_METHOD) == 0 )
{
//remove using call id instead of from field because the from in
//startup unregister is same as the actual register request.
SipMessage *pTmpMessage = mRegisterList.isSameCallId(callid);
// make a copy in case the message in list is removed
if ( pTmpMessage )
msgInList = new SipMessage(*pTmpMessage);
}
else
{
//remove using call id instead of from field because the from in
//startup unregister is same as the actual register request.
SipMessage *pTmpMessage = mSubscribeList.isSameCallId(callid);
// make a copy in case the message in list is removed
if ( pTmpMessage )
msgInList = new SipMessage(*pTmpMessage);
}
-----
//reschedule only if expires value is not zero otherwise it means
we just did an unregister
Dale
_______________________________________________
sipxtapi-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/