Fix of OOB write in drc downmix instruction count parsing
Check bounds of parsed value.
Bug: 116619387
Test: vendor
Change-Id: Iada4937f7d99744594a1d457ae1bddefe961ba4f
diff --git a/decoder/drc_src/impd_drc_static_payload.c b/decoder/drc_src/impd_drc_static_payload.c
index 1bf677c..ea9e885 100644
--- a/decoder/drc_src/impd_drc_static_payload.c
+++ b/decoder/drc_src/impd_drc_static_payload.c
@@ -1124,6 +1124,9 @@
if (it_bit_buff->error) return it_bit_buff->error;
drc_config->dwnmix_instructions_count = (temp >> 1) & 0x7f;
+ if (drc_config->dwnmix_instructions_count > DOWNMIX_INSTRUCTION_COUNT_MAX)
+ return (UNEXPECTED_ERROR);
+
drc_config->drc_description_basic_present = temp & 1;
if (drc_config->drc_description_basic_present == 1) {