Clang error "applying offset to NULL pointer" in MDCT Stereo initialization
==================================================================================================
IVAS Codec Baseline
Based on EVS Codec (Floating Point) 3GPP TS26.443 Nov 04, 2021,
Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0
==================================================================================================
lib_enc/ivas_stereo_mdct_stereo_enc.c:1136:80: runtime error: applying zero offset to null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior lib_enc/ivas_stereo_mdct_stereo_enc.c:1136:80 in
lib_enc/ivas_stereo_mdct_stereo_enc.c:1139:80: runtime error: applying non-zero offset 456 to null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior lib_enc/ivas_stereo_mdct_stereo_enc.c:1139:80 in
lib_enc/ivas_stereo_mdct_stereo_enc.c:1143:71: runtime error: applying non-zero offset 228 to null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior lib_enc/ivas_stereo_mdct_stereo_enc.c:1143:71 in
This is from the Clang undefined behaviour sanitizer. The issue is that stereo_mdct_band_init is always called with an indexed hIgfGrid struct, even though hIgfGrid is not always allocated and therefore sometimes NULL when calling the function. By still trying to index it an offset is applied to a NULL pointer causing this error message.