diff --git a/main/channel.c b/main/channel.c index 75db6d28f37f726e2914175fe4961c7e693c74bf..3b06b266ad37ab6dc17b5a40873e691323036151 100644 --- a/main/channel.c +++ b/main/channel.c @@ -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 */