diff options
author | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-03-18 17:58:11 +0000 |
---|---|---|
committer | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-03-18 17:58:11 +0000 |
commit | f51595a0f83c4a907cf7b5da1ccea0298f502287 (patch) | |
tree | a9fbfe7fdfbb72050bc085ef54a1fae04a95fb81 /channels/chan_agent.c | |
parent | 8dc17c98f2ee238972ef39ec4cce1509aea4e6ee (diff) |
Make sure an agent doesn't try to send dtmf to a NULL channel
closes issue #12242
Reported by Yourname
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@109575 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_agent.c')
-rw-r--r-- | channels/chan_agent.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c index 3a5e8a2b3..66c3224c9 100644 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -625,7 +625,9 @@ static int agent_digit_begin(struct ast_channel *ast, char digit) { struct agent_pvt *p = ast->tech_pvt; ast_mutex_lock(&p->lock); - ast_senddigit_begin(p->chan, digit); + if (p->chan) { + ast_senddigit_begin(p->chan, digit); + } ast_mutex_unlock(&p->lock); return 0; } @@ -634,7 +636,9 @@ static int agent_digit_end(struct ast_channel *ast, char digit, unsigned int dur { struct agent_pvt *p = ast->tech_pvt; ast_mutex_lock(&p->lock); - ast_senddigit_end(p->chan, digit, duration); + if (p->chan) { + ast_senddigit_end(p->chan, digit, duration); + } ast_mutex_unlock(&p->lock); return 0; } |