aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-07-14 14:14:16 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2015-07-18 20:23:46 +0200
commita066b2ceddc64f8d3e8cb8eb8ee129714df302bd (patch)
tree2c93d9cb1ab4ab0838f0ecab4f9077cd3e5c444b
parenta18e8d82de87f6cd88a68ede8f5526a102d47869 (diff)
downloadffmpeg-a066b2ceddc64f8d3e8cb8eb8ee129714df302bd.tar.gz
avformat/mov: Fix deallocation when MOVStreamContext failed to allocate
Fixes: 260813283176b57b3c9974fe284eebc3_signal_sigsegv_7ffff713351a_991_xtrem_e2_m64q15_a32sxx.3gp with memlimit of 262144 Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 15629129dde771446a005282ee33c4ea1199e696) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavformat/mov.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 5ea6932801..b42537f562 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -3964,6 +3964,9 @@ static int mov_read_close(AVFormatContext *s)
AVStream *st = s->streams[i];
MOVStreamContext *sc = st->priv_data;
+ if (!sc)
+ continue;
+
av_freep(&sc->ctts_data);
for (j = 0; j < sc->drefs_count; j++) {
av_freep(&sc->drefs[j].path);