diff options
author | Mark Spencer <markster@digium.com> | 2005-01-20 22:53:57 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2005-01-20 22:53:57 +0000 |
commit | e3da507a4465beee8da8c7ae5e7f37986ae60936 (patch) | |
tree | 09e02c2f0cdddab89d8103f6adc1c188b4919651 | |
parent | 677eedfe6aade24523f64ae2e603e8a054637cb9 (diff) |
Make sure we check for owner even after a queue frame
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rwxr-xr-x | channels/chan_iax2.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 8f228a973..d839df2fd 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -1533,7 +1533,9 @@ static int attempt_transmit(void *data) fr.frametype = AST_FRAME_CONTROL; fr.subclass = AST_CONTROL_HANGUP; iax2_queue_frame(f->callno, &fr); - iaxs[f->callno]->owner->hangupcause = AST_CAUSE_DESTINATION_OUT_OF_ORDER; + /* Remember, owner could disappear */ + if (iaxs[f->callno]->owner) + iaxs[f->callno]->owner->hangupcause = AST_CAUSE_DESTINATION_OUT_OF_ORDER; } else { if (iaxs[f->callno]->reg) { memset(&iaxs[f->callno]->reg->us, 0, sizeof(iaxs[f->callno]->reg->us)); |