From 139e3e5d84ba19316dc22b1a28b72b5dea720514 Mon Sep 17 00:00:00 2001
From: David Vossel <dvossel@digium.com>
Date: Thu, 29 Jul 2010 19:18:50 +0000
Subject: [PATCH] Merged revisions 280450 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r280450 | dvossel | 2010-07-29 14:13:27 -0500 (Thu, 29 Jul 2010) | 25 lines

  Merged revisions 280449 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2

  ................
    r280449 | dvossel | 2010-07-29 14:05:25 -0500 (Thu, 29 Jul 2010) | 18 lines

    Merged revisions 280448 via svnmerge from
    https://origsvn.digium.com/svn/asterisk/branches/1.4

    ........
      r280448 | dvossel | 2010-07-29 14:04:23 -0500 (Thu, 29 Jul 2010) | 12 lines

      fixes issue with translator frame not getting freed

      A translator frame even if it local storage so the translation path
      can be freed.  This issue prevented g729 licenses from being freed up.

      (closes issue #17630)
      Reported by: manvirr
      Patches:
            encoder_fix.diff uploaded by dvossel (license 671)
      Tested by: manvirr, dvossel
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280459 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 main/channel.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/main/channel.c b/main/channel.c
index 9ba5fb6006..32d559d0f7 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -4701,6 +4701,9 @@ int ast_write(struct ast_channel *chan, struct ast_frame *fr)
 							AST_LIST_NEXT(cur, frame_list) = NULL;
 							ast_frfree(cur);
 						}
+						if (new_frame != dup) {
+							ast_frfree(new_frame);
+						}
 						cur = dup;
 					}
 				}
-- 
GitLab