chan_dahdi/sig_pri: Fix crash on ISDN call hangup collision.
authorRichard Mudgett <rmudgett@digium.com>
Tue, 12 May 2015 22:34:45 +0000 (17:34 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Tue, 12 May 2015 22:43:35 +0000 (17:43 -0500)
commit0bb0d4a60352fcf0c73df123e53b76cc733de11a
tree534491234719e7a5e6d581f426841f0616f80fb4
parent3858e67dd549cf600fe1ed0c814affd9fb64c708
chan_dahdi/sig_pri: Fix crash on ISDN call hangup collision.

If an ISDN call is hungup by both sides at the same time a crash could
happen.

* Added missing NULL checks for the owner channel after calling
pri_queue_pvt_cause_data() in two places.  Code after those calls need to
check the owner channel pointer for NULL before use because
pri_queue_pvt_cause_data() needs to do deadlock avoidance to lock the
owner and the owner may get hung up.

ASTERISK-21893 #close
Reported by:  Alexandr Gordeev

Change-Id: Ica3e266ebc7a894b41d762326f08653e1904bb9a
channels/sig_pri.c