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

Michael Niedermayer git at videolan.org
Sat Nov 4 00:55:56 EET 2023


ffmpeg | branch: release/6.0 | Michael Niedermayer <michael at niedermayer.cc> | Sun Oct 15 01:52:20 2023 +0200| [e82515787455f8f424243d4e69ee0828495cc081] | 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=e82515787455f8f424243d4e69ee0828495cc081
---

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

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 7cdc860458..804ea9db46 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -4470,6 +4470,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