From: Tilghman Lesher Date: Sun, 8 Apr 2007 01:42:32 +0000 (+0000) Subject: Merged revisions 60661 via svnmerge from X-Git-Tag: 1.6.0-beta1~3^2~2891 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7a0e8598c5dd146297957eaafdc9a1a0f67558d;p=thirdparty%2Fasterisk.git Merged revisions 60661 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r60661 | tilghman | 2007-04-07 20:40:47 -0500 (Sat, 07 Apr 2007) | 10 lines Merged revisions 60660 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r60660 | tilghman | 2007-04-07 20:39:25 -0500 (Sat, 07 Apr 2007) | 2 lines Bug 9486 - memory leak when opening a filestream ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@60662 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/file.c b/main/file.c index e853258925..d0be7688e9 100644 --- a/main/file.c +++ b/main/file.c @@ -405,10 +405,15 @@ static int ast_filehelper(const char *filename, const void *arg2, const char *fm s->fmt = f; s->trans = NULL; s->filename = NULL; - if (s->fmt->format < AST_FORMAT_MAX_AUDIO) + if (s->fmt->format < AST_FORMAT_MAX_AUDIO) { + if (chan->stream) + ast_closestream(chan->stream); chan->stream = s; - else + } else { + if (chan->vstream) + ast_closestream(chan->vstream); chan->vstream = s; + } free(fn); break; } @@ -820,7 +825,7 @@ struct ast_filestream *ast_readfile(const char *filename, const char *type, cons open_wrapper(fs) ) { ast_log(LOG_WARNING, "Unable to open %s\n", fn); if (fs) - free(fs); + ast_free(fs); if (bfile) fclose(bfile); free(fn); @@ -933,7 +938,7 @@ struct ast_filestream *ast_writefile(const char *filename, const char *type, con unlink(orig_fn); } if (fs) - free(fs); + ast_free(fs); } fs->trans = NULL; fs->fmt = f;