same as in other places, check that generator->release is not NULL
authorLuigi Rizzo <rizzo@icir.org>
Thu, 21 Dec 2006 19:36:42 +0000 (19:36 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Thu, 21 Dec 2006 19:36:42 +0000 (19:36 +0000)
before calling it.
This allows generators to set it to NULL when they have nothing to
do there.

Later, the three copies of the code that releases a generator
should be moved to a function.

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

main/channel.c

index 75db6d2..3b06b26 100644 (file)
@@ -1572,7 +1572,8 @@ int ast_hangup(struct ast_channel *chan)
        }
        
        if (chan->generatordata)        /* Clear any tone stuff remaining */
-               chan->generator->release(chan, chan->generatordata);
+               if (chan->generator && chan->generator->release)
+                       chan->generator->release(chan, chan->generatordata);
        chan->generatordata = NULL;
        chan->generator = NULL;
        if (chan->cdr) {                /* End the CDR if it hasn't already */