avformat/ifv: Check for EOF in read_index()
authorMichael Niedermayer <michael@niedermayer.cc>
Wed, 17 Jul 2019 23:00:11 +0000 (01:00 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 18 Jul 2019 23:23:23 +0000 (01:23 +0200)
Fixes: Timeout
Fixes: 15567/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5758451487080448

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavformat/ifv.c

index 6acbb29..f95e9b0 100644 (file)
@@ -68,6 +68,8 @@ static int read_index(AVFormatContext *s,
     }
 
     for (i = start_index; i < end_index; i++) {
+        if (avio_feof(s->pb))
+            return AVERROR_EOF;
         pos = avio_rl32(s->pb);
         size = avio_rl32(s->pb);