[FFmpeg-cvslog] avformat/mov: Check that is_still_picture_avif has no trak based streams

Michael Niedermayer git at videolan.org
Sat Nov 4 01:36:56 EET 2023


ffmpeg | branch: release/5.1 | Michael Niedermayer <michael at niedermayer.cc> | Sun Oct 15 01:52:20 2023 +0200| [1435f5028342de869c15c4c0630d44e4439c0479] | committer: Michael Niedermayer

avformat/mov: Check that is_still_picture_avif has no trak based streams

Fixes: Assertion failure in mov_read_iloc( in mov_read_iloc())
Fixes: 62866/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-5282997370486784

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
(cherry picked from commit 98c2711b58ce65eae02cb2ece3a664e1119fd8fe)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1435f5028342de869c15c4c0630d44e4439c0479
---

 libavformat/mov.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 0d2ca6b9f5..77108738a4 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -4440,6 +4440,10 @@ static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom)
     MOVStreamContext *sc;
     int ret;
 
+    if (c->is_still_picture_avif) {
+        return AVERROR_INVALIDDATA;
+    }
+
     st = avformat_new_stream(c->fc, NULL);
     if (!st) return AVERROR(ENOMEM);
     st->id = -1;



More information about the ffmpeg-cvslog mailing list