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

[reSIProcate] bug in Dialog.cxx?


        I noticed something that looks incorrect in Dialog.cxx around line 600.

*snip*
                 case REFER:
            if(mInviteSession)
            {
               mInviteSession->mSentRefer = false;

               if (code >= 300)
               {
mDum.mInviteSessionHandler->onReferRejected (mInviteSession->getSessionHandle(), msg);
               }
               else
               {
//!dys! the OR condition below is not draft compliant.
                  if (!mInviteSession->mReferSub &&
((msg.exists(h_ReferSub) && msg.header (h_ReferSub).value()=="false") ||
                       !msg.exists(h_ReferSub)))
                  {
                     DebugLog(<< "refer accepted with norefersub");
mDum.mInviteSessionHandler->onReferAccepted (mInviteSession->getSessionHandle(), ClientSubscriptionHandle::NotValid(), msg);
                  }
// else no need for action - first Notify will cause onReferAccepted to be called
               }
               break;
            }
            // fall through, out of dialog refer was sent.
         case SUBSCRIBE:

*snip*

Something tells me that we don't really want to fall into case SUBSCRIBE here if mInviteSession is NULL.

Best regards,
Byron Campen

Attachment: smime.p7s
Description: S/MIME cryptographic signature