summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2008-03-10 16:59:13 +0000
committerRussell Bryant <russell@russellbryant.com>2008-03-10 16:59:13 +0000
commit541039ce1b55e05b3d3e049e50c4ee05009c8552 (patch)
treea16c92f73c75b172f5a425f718ddd2424b64c6d0 /main
parent9c876e801f13fa501bd2b14fbc420ba8d3b3ad28 (diff)
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/trunk@107100 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r--main/channel.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/main/channel.c b/main/channel.c
index 346554a29..e1569aec5 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;