MSAN: use-of-uninitialized-value in ISM4 rate switching with JBM
git sha: cb7555b5
Running
make clean
make -j CLANG=1
./IVAS_cod -ism 4 scripts/testv/stvISM1.csv scripts/testv/stvISM2.csv scripts/testv/stvISM3.csv scripts/testv/stvISM4.csv scripts/switchPaths/sw_24k4_512k.bin 48 scripts/testv/stv4ISM48n.wav bit
networkSimulator_g192 dly_prof bit bit_jbm trcf_dump 2 0
./IVAS_dec -VOIP BINAURAL_ROOM_IR 48 bit_jbm out.wav
Results in:
==745662==WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0xb30f34 in limiter_process /local/knj/ivas-codec/lib_rend/ivas_limiter.c:265:18
#1 0xb305de in ivas_limiter_dec /local/knj/ivas-codec/lib_rend/ivas_limiter.c:207:5
#2 0x6bcad7 in ivas_jbm_dec_flush_renderer /local/knj/ivas-codec/lib_dec/ivas_jbm_dec.c:1795:13
#3 0x6597be in ivas_ism_bitrate_switching_dec /local/knj/ivas-codec/lib_dec/ivas_ism_dec.c:151:28
#4 0x656e3e in ivas_ism_dec_config /local/knj/ivas-codec/lib_dec/ivas_ism_dec.c:433:36
#5 0x62b7ec in ivas_dec_setup /local/knj/ivas-codec/lib_dec/ivas_init_dec.c:339:28
#6 0x4cf1fd in IVAS_DEC_Setup /local/knj/ivas-codec/lib_dec/lib_dec.c:1262:28
#7 0x4cd3a4 in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:936:28
#8 0x4e072c in IVAS_DEC_VoIP_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:2685:28
#9 0x4b1170 in decodeVoIP /local/knj/ivas-codec/apps/decoder.c:3233:24
#10 0x4a4a5c in main /local/knj/ivas-codec/apps/decoder.c:829:17
#11 0x7f97c5614249 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#12 0x7f97c5614304 in __libc_start_main csu/../csu/libc-start.c:360:3
#13 0x421530 in _start (/local/knj/ivas-codec/IVAS_dec+0x421530)
SUMMARY: MemorySanitizer: use-of-uninitialized-value /local/knj/ivas-codec/lib_rend/ivas_limiter.c:265:18 in limiter_process
Happens in frame 101. Jbm profile file is here: dly_prof
Cause is that the renderer is already set to the new value here (after a rate switch), causing a wrong update of the TC buffer subframe information.
Edited by bayers