[FFmpeg-devel] [PATCH] lavc/flacdec: Increase residual limit from INT_MAX to UINT_MAX

Martijn van Beurden mvanb1 at gmail.com
Fri Apr 29 17:48:23 EEST 2022


Op wo 6 apr. 2022 om 09:12 schreef Martijn van Beurden <mvanb1 at gmail.com>:
>
> Op di 5 apr. 2022 om 15:37 schreef Martijn van Beurden <mvanb1 at gmail.com>:
> >
> > ---
> >  libavcodec/flacdec.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c
> > index dd6026f9de..cb32d7cae8 100644
> > --- a/libavcodec/flacdec.c
> > +++ b/libavcodec/flacdec.c
> > @@ -260,7 +260,7 @@ static int decode_residuals(FLACContext *s, int32_t *decoded, int pred_order)
> >              for (; i < samples; i++)
> >                  *decoded++ = get_sbits_long(&gb, tmp);
> >          } else {
> > -            int real_limit = tmp ? (INT_MAX >> tmp) + 2 : INT_MAX;
> > +            int real_limit = (tmp > 1) ? (INT_MAX >> (tmp - 1)) + 2 : INT_MAX;
> >              for (; i < samples; i++) {
> >                  int v = get_sr_golomb_flac(&gb, tmp, real_limit, 1);
> >                  if (v == 0x80000000){
> > --
> > 2.30.2
> >
>
> A file needing this patch to decode properly can be found here:
> https://github.com/ktmf01/flac-test-files/blob/main/subset/63%20-%20predictor%20overflow%20check%2C%2024-bit.flac
>
> Kind regards, Martijn van Beurden

Hereby I'd like to once more bring this patch to the attention of the
mailinglist.


More information about the ffmpeg-devel mailing list