Skip to content

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