From e82aa42f6c229bd77be56adf904028d0d631a836 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 22 Jun 2024 00:34:28 +0200 Subject: [PATCH] avformat/mov: add an EOF check in IPRP Fixes: Timeout Fixes: 69230/clusterfuzz-testcase-minimized-ffmpeg_IO_DEMUXER_fuzzer-6540512101203968 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer (cherry picked from commit 586f6fda1d814f0ddc32e652fde5e203d552f6d0) Signed-off-by: Michael Niedermayer --- libavformat/mov.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index 48997bde1e..83a48335ac 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -8457,6 +8457,11 @@ static int mov_read_iprp(MOVContext *c, AVIOContext *pb, MOVAtom atom) int item_id = version ? avio_rb32(pb) : avio_rb16(pb); int assoc_count = avio_r8(pb); + if (avio_feof(pb)) { + ret = AVERROR_INVALIDDATA; + goto fail; + } + for (int j = 0; j < assoc_count; j++) { MOVAtoms *ref; int index = avio_r8(pb) & 0x7f;