From c7ea86bc16209c837761a4261fec98baedce2fa1 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 15 Sep 2023 00:49:41 +0200 Subject: [PATCH] avcodec/osq: fix integer overflow when applying factor Fixes: signed integer overflow: -35511773 * 256 cannot be represented in type 'int' Fixes: 70406/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_OSQ_fuzzer-6545326804434944 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer (cherry picked from commit 6420c1bf30884d5feb69d0a6f116eaceac02dacc) Signed-off-by: Michael Niedermayer --- libavcodec/osq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/osq.c b/libavcodec/osq.c index 333ca506ea..1663f0b15f 100644 --- a/libavcodec/osq.c +++ b/libavcodec/osq.c @@ -355,7 +355,7 @@ static int osq_decode_block(AVCodecContext *avctx, AVFrame *frame) const int nb_channels = avctx->ch_layout.nb_channels; const int nb_samples = frame->nb_samples; OSQContext *s = avctx->priv_data; - const int factor = s->factor; + const unsigned factor = s->factor; int ret, decorrelate, downsample; GetBitContext *gb = &s->gb;