aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/mvdec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2021-12-23 20:43:47 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2021-12-25 11:59:47 +0100
commitf3a949dc4c6f01f43d502cbe2a7c06fe95114c79 (patch)
treeda43a490a872ed478dad3ab61842bef6c52e38c9 /libavformat/mvdec.c
parent10add8bb66b7c9d5999aa5b5a37eef3df27e934a (diff)
downloadffmpeg-f3a949dc4c6f01f43d502cbe2a7c06fe95114c79.tar.gz
avformat/mvdec: Check bytes_per_sample
Fixes: division by zero Fixes: 42814/clusterfuzz-testcase-minimized-ffmpeg_dem_MV_fuzzer-4787014237552640 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Peter Ross <pross@xvid.org> Reviewed-by: John-Paul Stewart <jpstewart@personalprojects.net> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/mvdec.c')
-rw-r--r--libavformat/mvdec.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/mvdec.c b/libavformat/mvdec.c
index 1a5012e507..ea955d2b11 100644
--- a/libavformat/mvdec.c
+++ b/libavformat/mvdec.c
@@ -366,6 +366,9 @@ static int mv_read_header(AVFormatContext *avctx)
avpriv_request_sample(avctx, "Audio compression (format %i)", v);
}
+ if (bytes_per_sample == 0)
+ return AVERROR_INVALIDDATA;
+
if (set_channels(avctx, ast, avio_rb32(pb)) < 0)
return AVERROR_INVALIDDATA;