Merged revisions 196826 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Tue, 26 May 2009 18:20:57 +0000 (18:20 +0000)
committerRussell Bryant <russell@russellbryant.com>
Tue, 26 May 2009 18:20:57 +0000 (18:20 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r196826 | russell | 2009-05-26 13:14:36 -0500 (Tue, 26 May 2009) | 9 lines

  Resolve a file handle leak.

  The frames here should have always been freed.  However, out of luck, there was
  never any memory leaked.  However, after file streams became reference counted,
  this code would leak the file stream for the file being read.

  (closes issue #15181)
  Reported by: jkroon
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196843 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_convert.c

index ddcd01a..94d6e1e 100644 (file)
@@ -117,9 +117,11 @@ static char *handle_cli_file_convert(struct ast_cli_entry *e, int cmd, struct as
        
        while ((f = ast_readframe(fs_in))) {
                if (ast_writestream(fs_out, f)) {
+                       ast_frfree(f);
                        ast_cli(a->fd, "Failed to convert %s.%s to %s.%s!\n", name_in, ext_in, name_out, ext_out);
                        goto fail_out;
                }
+               ast_frfree(f);
        }
 
        cost = ast_tvdiff_ms(ast_tvnow(), start);