[FFmpeg-devel] [PATCH 3/3] avcodec/wmalosslessdec: Fix some integer anomalies
Paul B Mahol
onemda at gmail.com
Mon Oct 28 20:22:11 EET 2019
Trivial change, LGTM
On 10/28/19, Michael Niedermayer <michael at niedermayer.cc> wrote:
> Fixes: left shift of negative value -341180
> Fixes:
> 18401/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMALOSSLESS_fuzzer-5686380134400000
>
> Found-by: continuous fuzzing process
> https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
> libavcodec/wmalosslessdec.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c
> index 19bac949d4..d4f18b9841 100644
> --- a/libavcodec/wmalosslessdec.c
> +++ b/libavcodec/wmalosslessdec.c
> @@ -766,7 +766,7 @@ static void revert_cdlms ## bits (WmallDecodeCtx *s, int
> ch, \
> for (ilms = num_lms - 1; ilms >= 0; ilms--) { \
> for (icoef = coef_begin; icoef < coef_end; icoef++) { \
> int##bits##_t *prevvalues = (int##bits##_t
> *)s->cdlms[ch][ilms].lms_prevvalues; \
> - pred = 1 << (s->cdlms[ch][ilms].scaling - 1); \
> + pred = (1 << s->cdlms[ch][ilms].scaling) >> 1; \
> residue = s->channel_residues[ch][icoef]; \
> pred += s->dsp.scalarproduct_and_madd_int## bits
> (s->cdlms[ch][ilms].coefs, \
> prevvalues +
> s->cdlms[ch][ilms].recent, \
> @@ -987,9 +987,9 @@ static int decode_subframe(WmallDecodeCtx *s)
>
> for (j = 0; j < subframe_len; j++) {
> if (s->bits_per_sample == 16) {
> - *s->samples_16[c]++ = (int16_t) s->channel_residues[c][j]
> << padding_zeroes;
> + *s->samples_16[c]++ = (int16_t) s->channel_residues[c][j] *
> (1 << padding_zeroes);
> } else {
> - *s->samples_32[c]++ = s->channel_residues[c][j] <<
> (padding_zeroes + 8);
> + *s->samples_32[c]++ = s->channel_residues[c][j] * (256 <<
> padding_zeroes);
> }
> }
> }
> --
> 2.23.0
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list