From: David Vossel Date: Tue, 3 May 2011 21:29:55 +0000 (+0000) Subject: Merged revisions 316328 via svnmerge from X-Git-Tag: 1.6.2.19-rc1~3^2~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=abf3b8cf585d8921ba2965c764dec6c64c8ca439;p=thirdparty%2Fasterisk.git Merged revisions 316328 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r316328 | dvossel | 2011-05-03 16:27:59 -0500 (Tue, 03 May 2011) | 10 lines Fixes chan_local crashs in local_fixup() Thanks OEJ for tracking down the issue and submitting the patch. (closes issue #19053) Reported by: oej Tested by: oej Review: https://reviewboard.asterisk.org/r/1158/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@316329 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_local.c b/channels/chan_local.c index 8d13f28a74..2acfa54c42 100644 --- a/channels/chan_local.c +++ b/channels/chan_local.c @@ -526,7 +526,7 @@ static int local_fixup(struct ast_channel *oldchan, struct ast_channel *newchan) p->chan = newchan; /* Do not let a masquerade cause a Local channel to be bridged to itself! */ - if (!ast_check_hangup(newchan) && (p->owner->_bridge == p->chan || p->chan->_bridge == p->owner)) { + if (!ast_check_hangup(newchan) && ((p->owner && p->owner->_bridge == p->chan) || (p->chan && p->chan->_bridge == p->owner))) { ast_log(LOG_WARNING, "You can not bridge a Local channel to itself!\n"); ao2_unlock(p); ast_queue_hangup(newchan);