avcodec/wavarc: Check that nb_samples is not negative

It is currently probably not possible for it to be negative as
the needed 2Mb input buf size is not achievable. But it is more
robust to check for it too.
If it would become negative than code like
s->samples[0][n] = s->samples[0][s->nb_samples + n];
would crash

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 5f5a1ccd04)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
release/6.0
Michael Niedermayer 2 years ago
parent d57b29ff2b
commit 60e46128f7
No known key found for this signature in database
GPG Key ID: B18E8928B3948D64
  1. 2
      libavcodec/wavarc.c

@ -298,7 +298,7 @@ static int decode_2slp(AVCodecContext *avctx,
return AVERROR_EOF;
case 8:
s->nb_samples = get_urice(gb, 8);
if (s->nb_samples > 570) {
if (s->nb_samples > 570U) {
s->nb_samples = 570;
return AVERROR_INVALIDDATA;
}

Loading…
Cancel
Save