]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 371271 via svnmerge from
authorAutomerge script <automerge@asterisk.org>
Wed, 15 Aug 2012 20:24:52 +0000 (20:24 +0000)
committerAutomerge script <automerge@asterisk.org>
Wed, 15 Aug 2012 20:24:52 +0000 (20:24 +0000)
file:///srv/subversion/repos/asterisk/branches/10

................
  r371271 | kmoore | 2012-08-15 15:15:08 -0500 (Wed, 15 Aug 2012) | 12 lines

  Avoid unconditional NULLing of mwipvt on relatedpeer on SIP dialog destruction

  The other instance of this bug was fixed by jcolp/file in r121496. If
  we are destroying a dialog only set the MWI dialog pointer on the
  related peer to NULL if it is the dialog currently being destroyed.

  (closes issue ASTERISK-20119)
Patch-by: Misha Vodsedalek
  ........

  Merged revisions 371270 from http://svn.asterisk.org/svn/asterisk/branches/1.8
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10-digiumphones@371294 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 519eaec08473d8c8df1a3568fd8faf5cbe533671..d1e5eecc79307ce4832dff3bd120d953f8f7ea68 100644 (file)
@@ -5879,7 +5879,7 @@ void __sip_destroy(struct sip_pvt *p, int lockowner, int lockdialoglist)
        }
 
        /* Remove link from peer to subscription of MWI */
-       if (p->relatedpeer && p->relatedpeer->mwipvt)
+       if (p->relatedpeer && p->relatedpeer->mwipvt == p)
                p->relatedpeer->mwipvt = dialog_unref(p->relatedpeer->mwipvt, "delete ->relatedpeer->mwipvt");
        if (p->relatedpeer && p->relatedpeer->call == p)
                p->relatedpeer->call = dialog_unref(p->relatedpeer->call, "unset the relatedpeer->call field in tandem with relatedpeer field itself");