summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2008-04-14 15:36:02 +0000
committerJoshua Colp <jcolp@digium.com>2008-04-14 15:36:02 +0000
commit6fad8249f55683f22fe50bfd87ef56ad69fb92c1 (patch)
tree8f1a5acffdca0a994f46937e1e2661b81deac8fc /channels
parent9ddc843fbeecfcfbe2ff54d916fe9d18de2a77c7 (diff)
During hangup it is possible for p->chan or p->owner to be NULL, so just return what the channel is bridged to instead of what they are *really* bridged to. Thanks Matt Nicholson!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_local.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/channels/chan_local.c b/channels/chan_local.c
index e79c82184..d371a0f75 100644
--- a/channels/chan_local.c
+++ b/channels/chan_local.c
@@ -183,8 +183,11 @@ static struct ast_channel *local_bridgedchannel(struct ast_channel *chan, struct
bridged = (bridge == p->owner ? p->chan : p->owner);
/* Now see if the opposite channel is bridged to anything */
- if (bridged->_bridge)
+ if (!bridged) {
+ bridged = bridge;
+ } else if (bridged->_bridge) {
bridged = bridged->_bridge;
+ }
}
ast_mutex_unlock(&p->lock);