aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-08 01:39:25 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-08 01:39:25 +0000
commitebd587e6e6ff0af356aad5b8205ca61e6e3800f0 (patch)
tree3f8eb1524a79ba4870609e88127fa2d3356881cc
parent7525505cb501c73cd7e37c71c51e9f7b8b2c928c (diff)
Bug 9486 - memory leak when opening a filestream
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@60660 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--file.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/file.c b/file.c
index 1067f7ff3..15734ecd2 100644
--- a/file.c
+++ b/file.c
@@ -427,10 +427,15 @@ static int ast_filehelper(const char *filename, const char *filename2, const cha
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;
+ }
} else {
fclose(bfile);
ast_log(LOG_WARNING, "Unable to open file on %s\n", fn);