diff --git a/libavcodec/notchlc.c b/libavcodec/notchlc.c index 2901cb263a..46212b4ac9 100644 --- a/libavcodec/notchlc.c +++ b/libavcodec/notchlc.c @@ -88,6 +88,8 @@ static int lz4_decompress(AVCodecContext *avctx, unsigned char current; do { current = bytestream2_get_byte(gb); + if (current > INT_MAX - num_literals) + return AVERROR_INVALIDDATA; num_literals += current; } while (current == 255); } @@ -120,6 +122,8 @@ static int lz4_decompress(AVCodecContext *avctx, do { current = bytestream2_get_byte(gb); + if (current > INT_MAX - match_length) + return AVERROR_INVALIDDATA; match_length += current; } while (current == 255); }