Skip to content

Use-of-Uninitialized value in SBA MDCT-Stereo core

At commit eec5770f on main, Clang msan reports:

==231308==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x788a6c in ivas_mdct_core_invQ /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:508:86
    #1 0x8f24ab in stereo_mdct_core_dec /local/knj/ivas-codec/lib_dec/ivas_stereo_mdct_core_dec.c:260:5
    #2 0xbb2513 in ivas_core_dec /local/knj/ivas-codec/lib_dec/ivas_core_dec.c:423:17
    #3 0xbc0c22 in ivas_cpe_dec /local/knj/ivas-codec/lib_dec/ivas_cpe_dec.c:392:24
    #4 0x63c711 in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:269:28
    #5 0x50af2e in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:685:24
    #6 0x4a5e42 in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1245:24
    #7 0x49b038 in main /local/knj/ivas-codec/apps/decoder.c:514:17
    #8 0x7f1b2f6dcd09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)
    #9 0x41f5a9 in _start (/local/knj/ivas-codec/CLANG1/IVAS_dec+0x41f5a9)

for

./IVAS_dec mono 16 bit out.wav

with attached bitstream (contains frame errors). Reported by pipeline: https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/jobs/32549.

The reason seems to be that mdct_stereo_mode is not initialized or read from the bitstream before the frameloss occurs.

test_HOA3_SBA_b48_wb_cbr_fer_ep_015_g192.192