summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-03-02 14:09:23 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-04-28 03:47:13 +0200
commitdc92c6045f94a56fcf9bdee5225749809b444a7a (patch)
tree1356666e9fba4dbac068e9feb133a63244662ceb
parent46e4028e6949e13c6d6403c4a23de61884e0ace7 (diff)
downloadffmpeg-dc92c6045f94a56fcf9bdee5225749809b444a7a.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>
-rw-r--r--libavformat/cache.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavformat/cache.c b/libavformat/cache.c
index d3d12bb4d5..7cb6c22b36 100644
--- a/libavformat/cache.c
+++ b/libavformat/cache.c
@@ -282,6 +282,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;
@@ -291,6 +297,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;