diff --git a/lib_com/options.h b/lib_com/options.h index 8a41dab35497b6281caaced4db3ccf52a52b8cf6..b207c8345cf4fbbb1512c38dd208dd0ad1b8e58f 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -100,6 +100,7 @@ #define FIX_MDCT_STEREO_ENC_STACK /* VA: basop issue 2428: Move IGF temporary buffers out of the highest stack */ #define HARMONIZE_TBE3 /* VA: basop issue 2399: Remove duplicated code: TBE, step 3 */ #define FIX_2459_USAN_AMR_SIDSTART /* FhG: basop issue 2459: fix msan complaint */ +#define FIX_2458_USAN_NULLPTR_WITH_ZERO_OFFSET /* FhG: basop issue 2458: avoid indexing into null pointer */ /* #################### End BE switches ################################## */ diff --git a/lib_rend/ivas_objectRenderer_fx.c b/lib_rend/ivas_objectRenderer_fx.c index 6d6c9ba5f9ae29a039130a2dd4e06e3431a19398..49836f2d1f52703881b171cb6e99193d238d0320 100644 --- a/lib_rend/ivas_objectRenderer_fx.c +++ b/lib_rend/ivas_objectRenderer_fx.c @@ -421,9 +421,14 @@ ivas_error ivas_td_binaural_renderer_unwrap_fx( tmp_headRotEnabled = enableCombinedOrientation[hCombinedOrientationData->subframe_idx]; move16(); tmp_CombinedOrient_subframe_idx = hCombinedOrientationData->subframe_idx; + move16(); } +#ifdef FIX_2458_USAN_NULLPTR_WITH_ZERO_OFFSET + IF( NE_32( ( error = TDREND_Update_listener_orientation_fx( hBinRendererTd, tmp_headRotEnabled, ( Quaternions != NULL ) ? &Quaternions[tmp_CombinedOrient_subframe_idx] : NULL, ( Pos != NULL ) ? &Pos[tmp_CombinedOrient_subframe_idx] : NULL ) ), IVAS_ERR_OK ) ) +#else IF( NE_32( ( error = TDREND_Update_listener_orientation_fx( hBinRendererTd, tmp_headRotEnabled, &Quaternions[tmp_CombinedOrient_subframe_idx], &Pos[tmp_CombinedOrient_subframe_idx] ) ), IVAS_ERR_OK ) ) +#endif { return error; }