summaryrefslogtreecommitdiff
path: root/libavformat/vividas.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2019-08-10 23:09:46 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2019-08-11 19:13:21 +0200
commit52b564ef13237bfbb31a4103d29828dba9d14984 (patch)
treed125e699d46f8a9588011b1def976e501236e670 /libavformat/vividas.c
parente8bb949ade4078ca318a9b3475cb7a6cfc7e4639 (diff)
avformat/vividas: Fix infinite loop in header parser
Fixes: Timeout (Infinite -> Finite) Fixes: 16010/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5638616102993920 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/vividas.c')
-rw-r--r--libavformat/vividas.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/vividas.c b/libavformat/vividas.c
index e70c9164a1..a5f33181de 100644
--- a/libavformat/vividas.c
+++ b/libavformat/vividas.c
@@ -546,6 +546,9 @@ static int viv_read_header(AVFormatContext *s)
break;
block_len = ffio_read_varlen(pb);
+ if (avio_feof(pb))
+ return AVERROR_INVALIDDATA;
+
block_type = avio_r8(pb);
if (block_type == 22) {