aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-01-20 22:53:57 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-01-20 22:53:57 +0000
commite6aed966f8b286fb465c24319f3db6af0ac35488 (patch)
tree09e02c2f0cdddab89d8103f6adc1c188b4919651 /channels
parent2d5808052d95a3aa89ee49c718a9eca181209d94 (diff)
Make sure we check for owner even after a queue frame
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4854 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-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));