diff --git a/decoder/drc_src/impd_drc_common.h b/decoder/drc_src/impd_drc_common.h index dd0e621..62f54c3 100644 --- a/decoder/drc_src/impd_drc_common.h +++ b/decoder/drc_src/impd_drc_common.h @@ -86,6 +86,8 @@ extern "C" { #define SELECTION_CANDIDATE_COUNT_MAX 32 +#define MAX_NUM_COMPRESSION_EQ (16) + #define PROC_COMPLETE 1 #define UNEXPECTED_ERROR 2 #define PARAM_ERROR 3 diff --git a/decoder/drc_src/impd_drc_selection_process.c b/decoder/drc_src/impd_drc_selection_process.c index b5b1b7f..53f76b0 100644 --- a/decoder/drc_src/impd_drc_selection_process.c +++ b/decoder/drc_src/impd_drc_selection_process.c @@ -640,6 +640,7 @@ WORD32 impd_find_eq_set_no_compression(ia_drc_config* pstr_drc_config, for (c = 0; c < str_eq_instructions->drc_set_id_count; c++) { if ((str_eq_instructions->drc_set_id[c] == ID_FOR_ANY_DRC) || (str_eq_instructions->drc_set_id[c] == 0)) { + if (k >= MAX_NUM_COMPRESSION_EQ) return UNEXPECTED_ERROR; num_compression_eq_id[k] = str_eq_instructions->eq_set_id; k++; }