diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index b27ed5bd6d..858dca660c 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -1340,9 +1340,11 @@ static int mpeg1_decode_picture(AVCodecContext *avctx, const uint8_t *buf, { Mpeg1Context *s1 = avctx->priv_data; MpegEncContext *s = &s1->mpeg_enc_ctx; - int ref, f_code, vbv_delay; + int ref, f_code, vbv_delay, ret; - init_get_bits(&s->gb, buf, buf_size * 8); + ret = init_get_bits8(&s->gb, buf, buf_size); + if (ret < 0) + return ret; ref = get_bits(&s->gb, 10); /* temporal ref */ s->pict_type = get_bits(&s->gb, 3);