From a85ce653fb14ae968419453fabf1ffe10d1f15df Mon Sep 17 00:00:00 2001 From: Jindřich Makovička Date: Wed, 18 Jan 2012 22:07:22 +0100 Subject: mpeg12: check for available bits to avoid an infinite loop Signed-off-by: Jindrich Makovicka Signed-off-by: Diego Biurrun --- libavcodec/mpeg12.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libavcodec') diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c index 34857d61a6..d79cf705ac 100644 --- a/libavcodec/mpeg12.c +++ b/libavcodec/mpeg12.c @@ -1658,7 +1658,7 @@ static int mpeg_decode_slice(MpegEncContext *s, int mb_y, if (mb_y == 0 && s->codec_tag == AV_RL32("SLIF")) { skip_bits1(&s->gb); } else { - for (;;) { + while (get_bits_left(&s->gb) > 0) { int code = get_vlc2(&s->gb, mbincr_vlc.table, MBINCR_VLC_BITS, 2); if (code < 0) { av_log(s->avctx, AV_LOG_ERROR, "first mb_incr damaged\n"); -- cgit v1.2.3