diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index f574997687..60c1a714a6 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -1846,6 +1846,8 @@ static int mpeg_decode_slice(MpegEncContext *s, int mb_y, } } eos: // end of slice + if (get_bits_left(&s->gb) < 0) + return AVERROR_INVALIDDATA; *buf += (get_bits_count(&s->gb)-1)/8; av_dlog(s, "y %d %d %d %d\n", s->resync_mb_x, s->resync_mb_y, s->mb_x, s->mb_y); return 0;