aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2014-08-12 14:39:10 +0000
committerAnton Khirnov <anton@khirnov.net>2014-12-20 10:53:24 +0100
commit931f5b235112f1c2a09dead36f0a228061d23942 (patch)
treee9b5d05bb88b60084b5c0c71b7eecdadc6ba77c8
parente7fdd6aa0d11c3e144988d7090f972224799e07f (diff)
downloadffmpeg-931f5b235112f1c2a09dead36f0a228061d23942.tar.gz
mov: avoid a memleak when multiple stss boxes are present
CC: libav-stable@libav.org Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind (cherry picked from commit 64f7575fbd64e5b65d5c644347408588c776f1fe) Signed-off-by: Anton Khirnov <anton@khirnov.net> (cherry picked from commit 577f1feb3fd1e51fd14af7ce6d79d468faa3b929) Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r--libavformat/mov.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 6f72ce8144..5ef343eadc 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1598,6 +1598,7 @@ static int mov_read_stss(MOVContext *c, AVIOContext *pb, MOVAtom atom)
}
if (entries >= UINT_MAX / sizeof(int))
return AVERROR_INVALIDDATA;
+ av_freep(&sc->keyframes);
sc->keyframes = av_malloc(entries * sizeof(int));
if (!sc->keyframes)
return AVERROR(ENOMEM);