[asterisk-commits] rmudgett: trunk r222692 - in /trunk: ./ channels/chan_misdn.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Oct 7 16:56:39 CDT 2009


Author: rmudgett
Date: Wed Oct  7 16:56:36 2009
New Revision: 222692

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=222692
Log:
Merged revisions 222691 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r222691 | rmudgett | 2009-10-07 16:51:24 -0500 (Wed, 07 Oct 2009) | 14 lines
  
  chan_misdn.c:process_ast_dsp() memory leak
  
  misdn.conf: astdtmf must be set to "yes".  With "no", buffer loss does not
  occur.
  
  The translated frame "f2" when passing through ast_dsp_process() is not
  freed whenever it is not used further in process_ast_dsp().  Then in the
  end it is never ever freed.
  
  Patches:
        translate.patch
  
  JIRA ABE-1993
........

Modified:
    trunk/   (props changed)
    trunk/channels/chan_misdn.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/channels/chan_misdn.c
URL: http://svnview.digium.com/svn/asterisk/trunk/channels/chan_misdn.c?view=diff&rev=222692&r1=222691&r2=222692
==============================================================================
--- trunk/channels/chan_misdn.c (original)
+++ trunk/channels/chan_misdn.c Wed Oct  7 16:56:36 2009
@@ -6970,8 +6970,12 @@
 		return NULL;
 	}
 
- 	if (!f || (f->frametype != AST_FRAME_DTMF))
- 		return frame;
+	if (!f || (f->frametype != AST_FRAME_DTMF)) {
+		if (f) {
+			ast_frfree(f);
+		}
+		return frame;
+	}
 
 	ast_debug(1, "Detected inband DTMF digit: %c\n", f->subclass);
 




More information about the asterisk-commits mailing list