[FFmpeg-devel] [PATCH 13/13] avformat/westwood_vqa: Check chunk size
Anton Khirnov
anton at khirnov.net
Thu Sep 22 16:01:05 EEST 2022
Quoting Michael Niedermayer (2022-09-18 19:14:10)
> Fixes: signed integer overflow: 2147483647 + 1 cannot be represented in type 'int'
> Fixes: 50993/clusterfuzz-testcase-minimized-ffmpeg_dem_WSVQA_fuzzer-6593408795279360
>
> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
> libavformat/westwood_vqa.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/libavformat/westwood_vqa.c b/libavformat/westwood_vqa.c
> index e3d2e2668c4..bd8df5e0b34 100644
> --- a/libavformat/westwood_vqa.c
> +++ b/libavformat/westwood_vqa.c
> @@ -274,6 +274,8 @@ static int wsvqa_read_packet(AVFormatContext *s,
> return AVERROR(EIO);
>
> /* the decoder expects chunks to be 16-bit aligned */
> + if (wsvqa->vqfl_chunk_size == INT_MAX)
> + return AVERROR_INVALIDDATA;
IIUC this can only happen after the
wsvqa->vqfl_chunk_size > 3 * (1 << 20)
check above was triggered. Then it makes more sense to change that code
to check chunk_size before setting wsvqa->vqfl_chunk_size.
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list