diff --git a/lib_com/options.h b/lib_com/options.h index 0799f2bf16a6b038372610eafe226e00d0623376..40ee19e404cf09da8119488dfb46c2e38e2b3484 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -159,7 +159,7 @@ #define FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI /* FhG: move setting of pointers for parameter decoding so they are skipped in lost frames when they are not needed */ #define FIX_970_USAN_IN_NELP_SEED #define FIX_1044_ISM_REND_MEMORY /* VA: issue 1044: Lower the memory of the ISM renderer handle. */ - +#define FIX_1060_USAN_ARRAY_BOUNDS /* FhG: issue 1060: USAN array-bounds errors */ /* #################### End BE switches ################################## */ diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index c8d52aa67ed96a4cae3b774d55e4c6850e2f6421..842bac31c5327277e0d5489c8c2d127a43c1d2ba 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -2317,8 +2317,13 @@ void ivas_dirac_dec_render_sf( for ( l = 0; l < hSpatParamRendCom->num_freq_bands; l++ ) { +#ifdef FIX_1060_USAN_ARRAY_BOUNDS + Cldfb_RealBuffer[j2][k][l] += g * *( tc_re++ ); + Cldfb_ImagBuffer[j2][k][l] += g * *( tc_im++ ); +#else Cldfb_RealBuffer[j2][0][k * hSpatParamRendCom->num_freq_bands + l] += g * *( tc_re++ ); Cldfb_ImagBuffer[j2][0][k * hSpatParamRendCom->num_freq_bands + l] += g * *( tc_im++ ); +#endif } w1 += hSpatParamRendCom->num_freq_bands; }