Merge "Fix for array out of bound access in impd_drc_get_gain" am: 7d0fd974c9

Original change: 1425115

Change-Id: I8ed0466f48529906f66499d114aa7b84f4099337
This commit is contained in:
Ray Essick 2020-09-30 02:18:06 +00:00 committed by Automerger Merge Worker
commit e6d24ebe23

View file

@ -1414,17 +1414,21 @@ impd_dec_gain_modifiers(ia_bit_buf_struct* it_bit_buff, WORD32 version,
impd_read_bits_buf(it_bit_buff, 1);
if (it_bit_buff->error) return it_bit_buff->error;
if (pstr_gain_modifiers->target_characteristic_left_present[b]) {
pstr_gain_modifiers->target_characteristic_left_index[b] =
impd_read_bits_buf(it_bit_buff, 4);
WORD32 tmp_index = impd_read_bits_buf(it_bit_buff, 4);
if (it_bit_buff->error) return it_bit_buff->error;
if (tmp_index >= SPLIT_CHARACTERISTIC_COUNT_MAX)
return (UNEXPECTED_ERROR);
pstr_gain_modifiers->target_characteristic_left_index[b] = tmp_index;
}
pstr_gain_modifiers->target_characteristic_right_present[b] =
impd_read_bits_buf(it_bit_buff, 1);
if (it_bit_buff->error) return it_bit_buff->error;
if (pstr_gain_modifiers->target_characteristic_right_present[b]) {
pstr_gain_modifiers->target_characteristic_right_index[b] =
impd_read_bits_buf(it_bit_buff, 4);
WORD32 tmp_index = impd_read_bits_buf(it_bit_buff, 4);
if (it_bit_buff->error) return it_bit_buff->error;
if (tmp_index >= SPLIT_CHARACTERISTIC_COUNT_MAX)
return (UNEXPECTED_ERROR);
pstr_gain_modifiers->target_characteristic_right_index[b] = tmp_index;
}
pstr_gain_modifiers->gain_scaling_flag[b] =
impd_read_bits_buf(it_bit_buff, 1);