1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-09-04 23:38:20 +02:00

avcodec/siren: prevent getbitcontext overread

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Peter Ross <pross@xvid.org>
This commit is contained in:
Peter Ross 2021-09-18 19:55:03 +10:00
parent ed6549887a
commit b007e8968f

View File

@ -608,12 +608,16 @@ static int decode_vector(SirenContext *s, int number_of_regions,
index >>= 1;
if (error == 0 && get_bits_left(gb) >= 0) {
if (error == 0) {
for (j = 0; j < vector_dimension[category]; j++) {
decoded_value = mlt_quant[category][index & ((1 << index_table[category]) - 1)];
index >>= index_table[category];
if (decoded_value) {
if (get_bits_left(gb) <= 0) {
error = 1;
break;
}
if (!get_bits1(gb))
decoded_value *= -decoder_standard_deviation[region];
else