vc1dec: use get_bits_long and limit the read bits to 32
authorAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Thu, 25 Jun 2015 20:47:38 +0000 (22:47 +0200)
committerAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Fri, 26 Jun 2015 17:20:00 +0000 (19:20 +0200)
get_bits should not be used with more than 25 bits.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
libavcodec/vc1dec.c

index 3fa39a5..d7a0cef 100644 (file)
@@ -469,7 +469,7 @@ static av_cold int vc1_decode_init(AVCodecContext *avctx)
         count = avctx->extradata_size*8 - get_bits_count(&gb);
         if (count > 0) {
             av_log(avctx, AV_LOG_INFO, "Extra data: %i bits left, value: %X\n",
-                   count, get_bits(&gb, count));
+                   count, get_bits_long(&gb, FFMIN(count, 32)));
         } else if (count < 0) {
             av_log(avctx, AV_LOG_INFO, "Read %i bits in overflow\n", -count);
         }