X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fbgmc.c;h=361f7c52e627161b92529e9209de9ef9620775c4;hb=e448a4b4ea535aa2ec06f0aee167820df794a299;hp=1a6817b73f7b3fb895c40d9a24a3902f0513fcc2;hpb=94346ab593f3fc0822f11d3e3f378f9944ad2d40;p=ffmpeg diff --git a/libavcodec/bgmc.c b/libavcodec/bgmc.c index 1a6817b73f7..361f7c52e62 100644 --- a/libavcodec/bgmc.c +++ b/libavcodec/bgmc.c @@ -485,12 +485,17 @@ av_cold void ff_bgmc_end(uint8_t **cf_lut, int **cf_lut_status) /** Initialize decoding and reads the first value */ -void ff_bgmc_decode_init(GetBitContext *gb, unsigned int *h, +int ff_bgmc_decode_init(GetBitContext *gb, unsigned int *h, unsigned int *l, unsigned int *v) { + if (get_bits_left(gb) < VALUE_BITS) + return AVERROR_INVALIDDATA; + *h = TOP_VALUE; *l = 0; - *v = get_bits_long(gb, VALUE_BITS); + *v = get_bits(gb, VALUE_BITS); + + return 0; }