diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2021-01-12 21:54:31 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2021-02-02 14:18:21 +0100 |
commit | 868f4ff9558ee7b931ddd6318f95a279b5ccc9ec (patch) | |
tree | 566b4d6106cfa445a9d0d399df5c3893245277ce | |
parent | 5eca6df648ba08f2d6d0f1cdcc79be3f1162ef2b (diff) | |
download | ffmpeg-868f4ff9558ee7b931ddd6318f95a279b5ccc9ec.tar.gz |
avformat/flvdec: Check for EOF in amf_skip_tag()
Fixes: Timeout
Fixes: 29070/clusterfuzz-testcase-minimized-ffmpeg_dem_KUX_fuzzer-5650106766458880
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 9725d07a1770fbfafe5f7b3f7d95a2a513308538)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavformat/flvdec.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index d3ff893edb..cd913d32d8 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -856,6 +856,9 @@ static int amf_skip_tag(AVIOContext *pb, AMFDataType type, int depth) if (depth > MAX_DEPTH) return AVERROR_PATCHWELCOME; + if (avio_feof(pb)) + return AVERROR_EOF; + switch (type) { case AMF_DATA_TYPE_NUMBER: avio_skip(pb, 8); |