From 69754e07f5133b20bc789c7dea5d05714f63bf7f Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 12 Dec 2020 00:41:17 +0100 Subject: [PATCH] avformat/wtvdec: Check for EOF before potentially reseting the eof state Fixes: infinite loop Fixes: 28042/clusterfuzz-testcase-minimized-ffmpeg_dem_WTV_fuzzer-6311288967528448 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavformat/wtvdec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/wtvdec.c b/libavformat/wtvdec.c index 77908e6392..6c41e3c1a3 100644 --- a/libavformat/wtvdec.c +++ b/libavformat/wtvdec.c @@ -953,6 +953,9 @@ static int parse_chunks(AVFormatContext *s, int mode, int64_t seekts, int *len_p } else av_log(s, AV_LOG_WARNING, "unsupported chunk:"FF_PRI_GUID"\n", FF_ARG_GUID(g)); + if (avio_feof(pb)) + break; + avio_skip(pb, WTV_PAD8(len) - consumed); } return AVERROR_EOF;