aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-03-02 14:09:23 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-03-26 21:52:47 +0100
commitb4be953c559699986c63c68e2c2e9e927201d4c2 (patch)
treeee07516ab83192e4b05a94bcf2e246794b50de2e /libavformat
parent3b179b630253466b325b44fd6355a4c8d3548b62 (diff)
downloadffmpeg-b4be953c559699986c63c68e2c2e9e927201d4c2.tar.gz
avformat/cache: Fix memleak of tree entries
Found-by: jamrial Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 554f6e930ce05a4c5449efcaae36bdafe2d9de74) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/cache.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavformat/cache.c b/libavformat/cache.c
index 8e8b9e8412..8aed37eb2d 100644
--- a/libavformat/cache.c
+++ b/libavformat/cache.c
@@ -283,6 +283,12 @@ resolve_eof:
return ret;
}
+static int enu_free(void *opaque, void *elem)
+{
+ av_free(elem);
+ return 0;
+}
+
static int cache_close(URLContext *h)
{
Context *c= h->priv_data;
@@ -292,6 +298,7 @@ static int cache_close(URLContext *h)
close(c->fd);
ffurl_close(c->inner);
+ av_tree_enumerate(c->root, NULL, NULL, enu_free);
av_tree_destroy(c->root);
return 0;