do not ast_hangup() on a NULL channel.
authorLuigi Rizzo <rizzo@icir.org>
Tue, 21 Nov 2006 11:07:30 +0000 (11:07 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Tue, 21 Nov 2006 11:07:30 +0000 (11:07 +0000)
In the original code this would happen in the case of
o->forwards >=  AST_MAX_FORWARDS

Likely an 1.2/1.4 isse as well - please someone have a look,
while I am hunting a few more similar panics now.

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

apps/app_dial.c

index c3cc262..6c1501b 100644 (file)
@@ -505,9 +505,9 @@ static void do_forward(struct dial_localuser *o,
                                ast_set_callerid(c, S_OR(in->macroexten, in->exten), get_cid_name(cidname, sizeof(cidname), in), NULL);
                        }
                }
+               /* Hangup the original channel now, in case we needed it */
+               ast_hangup(c);
        }
-       /* Hangup the original channel now, in case we needed it */
-       ast_hangup(c);
 }
 
 /* argument used for some functions. */