[FFmpeg-cvslog] avformat/tmv: Check video chunk size

Michael Niedermayer git at videolan.org
Thu Oct 19 14:32:23 EEST 2023


ffmpeg | branch: release/2.8 | Michael Niedermayer <michael at niedermayer.cc> | Mon Oct  9 00:07:32 2023 +0200| [e240d301742805a987e1c844ac82ab15276e12ee] | committer: Michael Niedermayer

avformat/tmv: Check video chunk size

This check matches the audio chunk check

Fixes: Timeout
Fixes: 62681/clusterfuzz-testcase-minimized-ffmpeg_dem_TMV_fuzzer-5299107876700160

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 b79fc7059600b28dce392fc20e5c8bd554c2fc95)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

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

diff --git a/libavformat/tmv.c b/libavformat/tmv.c
index ad172f4308..1d48e019d0 100644
--- a/libavformat/tmv.c
+++ b/libavformat/tmv.c
@@ -103,6 +103,10 @@ static int tmv_read_header(AVFormatContext *s)
     char_cols = avio_r8(pb);
     char_rows = avio_r8(pb);
     tmv->video_chunk_size = char_cols * char_rows * 2;
+    if (!tmv->video_chunk_size) {
+        av_log(s, AV_LOG_ERROR, "invalid video chunk size\n");
+        return AVERROR_INVALIDDATA;
+    }
 
     features  = avio_r8(pb);
     if (features & ~(TMV_PADDING | TMV_STEREO)) {



More information about the ffmpeg-cvslog mailing list