aboutsummaryrefslogtreecommitdiffstats
path: root/main/channel.c
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-10-22 15:52:48 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-10-22 15:52:48 +0000
commit310ee0a94551a90f9365346ddb8694243eda0d5f (patch)
tree7f5cc753b685a53c6e279da4ca65869eefe219ca /main/channel.c
parenta0616208cc13a4508c92312cd0cc9aed2ce9e0a2 (diff)
Don't leak a frame in the case that an END frame is received and the time since
the BEGIN is less than that of the defined minimum DTMF duration. (closes issue #11051) Reported by: casper Patches: channel.c.86664.diff uploaded by casper (license 55) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@86750 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/channel.c')
-rw-r--r--main/channel.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/main/channel.c b/main/channel.c
index 7c22fcf4b..76e3af290 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -2415,6 +2415,7 @@ static struct ast_frame *__ast_read(struct ast_channel *chan, int dropaudio)
ast_set_flag(chan, AST_FLAG_EMULATE_DTMF);
chan->emulate_dtmf_digit = f->subclass;
chan->emulate_dtmf_duration = AST_MIN_DTMF_DURATION - f->len;
+ ast_frfree(f);
f = &ast_null_frame;
} else {
ast_log(LOG_DTMF, "DTMF end passthrough '%c' on %s\n", f->subclass, chan->name);