X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fsnappy.c;h=f5c4c6578b09debbedcad2b188fe64bd2a2abc18;hb=bd96c54fe4819b3ca9a975e2083d67f4443c559b;hp=7900b0f978535490425b9b2bb9828a39f96739cb;hpb=ef71ef5f30ddf1cd61e46628a04608892caf76d2;p=ffmpeg diff --git a/libavcodec/snappy.c b/libavcodec/snappy.c index 7900b0f9785..f5c4c6578b0 100644 --- a/libavcodec/snappy.c +++ b/libavcodec/snappy.c @@ -39,6 +39,8 @@ static int64_t bytestream2_get_levarint(GetByteContext *gb) do { tmp = bytestream2_get_byte(gb); + if (shift > 31 || ((tmp & 127LL) << shift) > INT_MAX) + return AVERROR_INVALIDDATA; val |= (tmp & 127) << shift; shift += 7; } while (tmp & 128);