diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index 3adfeac3d94493b54ce84c92bef499a46cb4178e..a06692c47676bcd5ec1d334d11c2c1dcdb923c61 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -507,6 +507,9 @@ static int vp7_fade_frame(VP8Context *s, VP56RangeCoder *c) int beta = (int8_t) vp8_rac_get_uint(c, 8); int ret; + if (c->end <= c->buffer && c->bits >= 0) + return AVERROR_INVALIDDATA; + if (!s->keyframe && (alpha || beta)) { int width = s->mb_width * 16; int height = s->mb_height * 16;