[FFmpeg-devel] [PATCH 2/5] avcodec/wavpack: Fix overflow in k=31

Paul B Mahol onemda at gmail.com
Wed Nov 30 22:39:44 EET 2022


On 9/11/22, Michael Niedermayer <michael at niedermayer.cc> wrote:
> Untested with "non fuzzed" samples as i have no such file
>

Then create it.

> Fixes: shift exponent 32 is too large for 32-bit type 'int'
> Fixes:
> 50930/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WAVPACK_fuzzer-6319201949712384
>
> 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/wavpack.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c
> index 7aa1f65e17b..b4d19df7ea2 100644
> --- a/libavcodec/wavpack.c
> +++ b/libavcodec/wavpack.c
> @@ -126,7 +126,7 @@ static av_always_inline unsigned get_tail(GetBitContext
> *gb, unsigned k)
>      if (k < 1)
>          return 0;
>      p   = av_log2(k);
> -    e   = (1 << (p + 1)) - k - 1;
> +    e   = (1LL << (p + 1)) - k - 1;
>      res = get_bits_long(gb, p);
>      if (res >= e)
>          res = (res << 1) - e + get_bits1(gb);
> --
> 2.17.1
>
> _______________________________________________
> 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