[FFmpeg-devel] [PATCH v1 07/10] return value check for init_get_bits in vc1dec.c

James Almer jamrial at gmail.com
Thu Aug 12 17:25:47 EEST 2021


On 8/12/2021 1:53 AM, maryam ebrahimzadeh wrote:
> ---
>   libavcodec/vc1dec.c | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
> index 1fb1950ade..07d60294f2 100644
> --- a/libavcodec/vc1dec.c
> +++ b/libavcodec/vc1dec.c
> @@ -444,7 +444,9 @@ static av_cold int vc1_decode_init(AVCodecContext *avctx)
>           // the last byte of the extradata is a version number, 1 for the
>           // samples we can decode
>   
> -        init_get_bits(&gb, avctx->extradata, avctx->extradata_size*8);
> +        ret = init_get_bits8(&gb, avctx->extradata, avctx->extradata_size);
> +        if (ret < 0)
> +            return ret;
>   
>           if ((ret = ff_vc1_decode_sequence_header(avctx, v, &gb)) < 0)
>             return ret;
> @@ -771,7 +773,9 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data,
>           }
>           init_get_bits(&s->gb, buf2, buf_size2*8);
>       } else
> -        init_get_bits(&s->gb, buf, buf_size*8);
> +        ret = init_get_bits8(&s->gb, buf, buf_size);
> +        if (ret < 0)
> +            return ret;

The check is not covered by the else.

>   
>       if (v->res_sprite) {
>           v->new_sprite  = !get_bits1(&s->gb);
> 



More information about the ffmpeg-devel mailing list