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 <michael@niedermayer.cc>
(cherry picked from commit 6420c1bf30)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
release/6.1
Michael Niedermayer 1 year ago
parent addd5cfee3
commit c7ea86bc16
No known key found for this signature in database
GPG Key ID: B18E8928B3948D64
  1. 2
      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;

Loading…
Cancel
Save