From 8d28aa58f626e15d1af7f4479314647e5b790d58 Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Mon, 10 Mar 2008 16:59:33 +0000 Subject: [PATCH] Merged revisions 107100 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r107100 | russell | 2008-03-10 11:59:13 -0500 (Mon, 10 Mar 2008) | 11 lines Merged revisions 107099 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r107099 | russell | 2008-03-10 11:58:57 -0500 (Mon, 10 Mar 2008) | 3 lines Fix a race condition where the generator can go away (closes issue #12175, reported by edantie, patched by me) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@107101 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/channel.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/main/channel.c b/main/channel.c index 346554a295..e1569aec5d 100644 --- a/main/channel.c +++ b/main/channel.c @@ -1711,9 +1711,13 @@ static int generator_force(const void *data) ast_channel_lock(chan); tmp = chan->generatordata; chan->generatordata = NULL; - generate = chan->generator->generate; + if (chan->generator) + generate = chan->generator->generate; ast_channel_unlock(chan); + if (!tmp || !generate) + return 0; + res = generate(chan, tmp, 0, 160); chan->generatordata = tmp;