From 12e3f412b5de2c6ddbeaf24ed745875f5ad4cac0 Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Wed, 4 Jan 2012 21:40:45 +0000 Subject: [PATCH] Free successfully translated frame in fax_gateway_framehook A frame that is translated via ast_translate is also duplicated via ast_frdup. This will allocate a new frame on the heap, which needs to be free'd at the appropriate time. This issue reporter used valgrind to find that this occurred in res_fax's fax_gateway_framehook; a quick search through the code showed that only place this was currently not handling the translatted frame properly. (closes issue ASTERISK-19133) Reported by: Sylvain Rochet ........ Merged revisions 349608 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349609 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_fax.c | 1 + 1 file changed, 1 insertion(+) diff --git a/res/res_fax.c b/res/res_fax.c index 7ee4cceff3..360c2d9d20 100644 --- a/res/res_fax.c +++ b/res/res_fax.c @@ -3086,6 +3086,7 @@ static struct ast_frame *fax_gateway_framehook(struct ast_channel *chan, struct * write would fail, or even if a failure would be fatal so for * now we'll just ignore the return value. */ gateway->s->tech->write(gateway->s, f); + ast_frfree(f); f = &ast_null_frame; ao2_ref(details, -1); return f;