]> git.sesse.net Git - ffmpeg/commitdiff
avformat/mov: Check element count in mov_metadata_hmmt()
authorMichael Niedermayer <michael@niedermayer.cc>
Mon, 15 Feb 2021 19:41:31 +0000 (20:41 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Tue, 16 Feb 2021 18:02:24 +0000 (19:02 +0100)
Fixes: Timeout
Fixes: 30325/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-6048395703746560
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavformat/mov.c

index 9ca0a3ee156417ed280bab7827feb2d2dc4d2f38..2a701e9f7062a02eb0a671d44347785db2e77275 100644 (file)
@@ -288,6 +288,8 @@ static int mov_metadata_hmmt(MOVContext *c, AVIOContext *pb, unsigned len)
         return 0;
 
     n_hmmt = avio_rb32(pb);
+    if (n_hmmt > len / 4)
+        return AVERROR_INVALIDDATA;
     for (i = 0; i < n_hmmt && !pb->eof_reached; i++) {
         int moment_time = avio_rb32(pb);
         avpriv_new_chapter(c->fc, i, av_make_q(1, 1000), moment_time, AV_NOPTS_VALUE, NULL);