summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2005-01-20 22:53:57 +0000
committerMark Spencer <markster@digium.com>2005-01-20 22:53:57 +0000
commite3da507a4465beee8da8c7ae5e7f37986ae60936 (patch)
tree09e02c2f0cdddab89d8103f6adc1c188b4919651
parent677eedfe6aade24523f64ae2e603e8a054637cb9 (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-xchannels/chan_iax2.c4
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));