Fix for SBO in impd_drc_selection_process_drcset_selection.c

Index k is incremented and used as an index of
selection_candidate_info_step_2 array. k can be
max (str_drc_instruction_str->dwnmix_id_count *
selection_candidate_step_2_count), this can be
more than max size of selection_candidate_info_step_2
array.

Hence added a check before assignment as fix.

Bug:147331996
Test:poc in bug

Change-Id: I1ffa88eddfcef93ab15a08599270924d54cdf1de
diff --git a/decoder/drc_src/impd_drc_selection_process_drcset_selection.c b/decoder/drc_src/impd_drc_selection_process_drcset_selection.c
index 93c26a0..3cd5ad5 100644
--- a/decoder/drc_src/impd_drc_selection_process_drcset_selection.c
+++ b/decoder/drc_src/impd_drc_selection_process_drcset_selection.c
@@ -1170,6 +1170,7 @@
         if (pstr_drc_sel_proc_params_struct->requested_dwnmix_id
                 [selection_candidate_info_step_2[i].downmix_id_request_index] ==
             str_drc_instruction_str->downmix_id[n]) {
+          if (k >= SELECTION_CANDIDATE_COUNT_MAX) return UNEXPECTED_ERROR;
           memcpy(&selection_candidate_info_step_2[k],
                  &selection_candidate_info_step_2[i],
                  sizeof(ia_selection_candidate_info_struct));