chan_pjsip.c: Check for channel and session to not be NULL in hangup
authoragupta <abhay@avissol.com>
Thu, 6 Jun 2019 12:48:18 +0000 (18:18 +0530)
committerGeorge Joseph <gjoseph@digium.com>
Mon, 10 Jun 2019 12:41:06 +0000 (06:41 -0600)
commitd2f7b22640ee99d3dcb652135350277143754cdd
tree7459918c3f133a15f6669bc43e462cdd3eb88bf0
parentbcaa01b02461d5b6bc00a23ac8a5eeb4f00dc968
chan_pjsip.c: Check for channel and session to not be NULL in hangup

We have seen some rare case of segmentation fault in hangup function
and we could notice that channel pointer was NULL.  Debug log shows
that there is a 200 OK answer and SIP timeout at the same time.  It
looks that while the SIP session was being destroyed due to timeout
call hangup due to answer event lead to race condition and channel
is being destroyed from two different places.  The check ensures we
check it not to be NULL before freeing it.

ASTERISK-25371

Change-Id: I19f6566830640625e08f7b87bfe15758ad33a778
channels/chan_pjsip.c