Fix the "failed" extension for outgoing calls.
authorRussell Bryant <russell@russellbryant.com>
Thu, 11 Dec 2008 20:07:47 +0000 (20:07 +0000)
committerRussell Bryant <russell@russellbryant.com>
Thu, 11 Dec 2008 20:07:47 +0000 (20:07 +0000)
commitfb242bc8fd7821e640176b93950d158bce4ce87c
treebb7742683861723c8d9aa14557afdaecd0d0e17d
parent94172b4ba3d8fcde04571d55a8d993844c276299
Fix the "failed" extension for outgoing calls.

The conversion to use ast_check_hangup() everywhere instead of checking the softhangup
flag directly introduced this problem.  The issue is that ast_check_hangup() checked
for tech_pvt to be NULL.  Unfortunately, this will be NULL is some valid circumstances,
such as with a dummy channel.

The fix is simple.  Don't check tech_pvt.  It's pointless, because the code path that
sets this to NULL is when the channel hangup callback gets called.  This happens inside
of ast_hangup(), which is the same function responsible for freeing the channel.  Any
code calling ast_check_hangup() better not be calling it after that point, and if so,
we have a bigger problem at hand.

(closes issue #14035)
Reported by: erogoza

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
main/channel.c