Fix potential crashes during SIP attended transfers.
authorMark Michelson <mmichelson@digium.com>
Fri, 30 Nov 2012 16:56:53 +0000 (16:56 +0000)
committerMark Michelson <mmichelson@digium.com>
Fri, 30 Nov 2012 16:56:53 +0000 (16:56 +0000)
commitfab48c28f9db1e9d1d7d09f57a802102b726ff5d
tree0eaebc53675aa0ab9790518ff12788945098f4b6
parent9a8ce96aff2206125e627a096d44aecbddca0a3d
Fix potential crashes during SIP attended transfers.

The principal behind this patch is simple. During a transfer,
we manipulate channels that are owned by a separate thread than
the one we currently are running in, so it makes sense that we
need to grab a reference to the channels so that they cannot
disappear out from under us.

In the wild, crashes were sometimes seen when the transferring
party would hang up the call before the transfer target answered
the call. The most common place to see the crash occur was when
attempting to send a connected line update to the transferer
channel.

(closes issue ASTERISK-20226)
Reported by Jared Smith
Patches:
ASTERISK-20226.patch uploaded by Mark Michelson (License #5049)
Tested by: Jared Smith
........

Merged revisions 376901 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 376916 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 376917 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@376918 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_sip.c