[FFmpeg-cvslog] avformat/mvdec: Use 64 bit in timestamp computation

Michael Niedermayer git at videolan.org
Thu Dec 16 22:07:00 EET 2021


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Wed Dec 15 18:37:13 2021 +0100| [99b2700f5bf887cf95316a2f9e8c1082b11982ba] | committer: Michael Niedermayer

avformat/mvdec: Use 64 bit in timestamp computation

Fixes: division by zero
Fixes: 42198/clusterfuzz-testcase-minimized-ffmpeg_dem_MV_fuzzer-5054366405492736.fuzz
Fixes: 42222/clusterfuzz-testcase-minimized-ffmpeg_dem_MV_fuzzer-4561249331970048

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Peter Ross <pross at xvid.org>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

 libavformat/mvdec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/mvdec.c b/libavformat/mvdec.c
index 8b54a9ab04..5d184f20a4 100644
--- a/libavformat/mvdec.c
+++ b/libavformat/mvdec.c
@@ -381,7 +381,7 @@ static int mv_read_header(AVFormatContext *avctx)
             avio_skip(pb, 8);
             av_add_index_entry(ast, pos, timestamp, asize, 0, AVINDEX_KEYFRAME);
             av_add_index_entry(vst, pos + asize, i, vsize, 0, AVINDEX_KEYFRAME);
-            timestamp += asize / (ast->codecpar->channels * bytes_per_sample);
+            timestamp += asize / (ast->codecpar->channels * (uint64_t)bytes_per_sample);
         }
     } else if (!version && avio_rb16(pb) == 3) {
         avio_skip(pb, 4);



More information about the ffmpeg-cvslog mailing list