aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-03-02 14:09:23 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-04-27 04:40:11 +0200
commit69942c4f6dfeb55cbaf88f346e946e39d33b8ccf (patch)
treeb389afdf3b6775eadba1469957a61202ae187048
parent7aaab36874293e6b06a07fa53306a01c42e665bc (diff)
downloadffmpeg-69942c4f6dfeb55cbaf88f346e946e39d33b8ccf.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;