[format switching] Reading of uninitialized memory in IVAS_DEC_ReadFormat()
When decoding a concatenated bitstream (ISM + FOA), we are readining uninitilized memory when the format switches:
==2593556== Conditional jump or move depends on uninitialised value(s)
==2593556== at 0x11BA2F: IVAS_DEC_ReadFormat (lib_dec.c:1014)
==2593556== by 0x117E59: decodeVoIP (decoder.c:3569)
==2593556== by 0x110D14: main (decoder.c:774)
==2593556==
==2593556== Conditional jump or move depends on uninitialised value(s)
==2593556== at 0x197145: ivas_read_format (ivas_init_dec.c:1021)
==2593556== by 0x1955EE: ivas_dec_get_format (ivas_init_dec.c:125)
==2593556== by 0x11BA40: IVAS_DEC_ReadFormat (lib_dec.c:1016)
==2593556== by 0x117E59: decodeVoIP (decoder.c:3569)
==2593556== by 0x110D14: main (decoder.c:774)
==2593556==
==2593556== Conditional jump or move depends on uninitialised value(s)
==2593556== at 0x380574: is_SIDrate (ivas_tools.c:1282)
==2593556== by 0x380548: is_DTXrate (ivas_tools.c:1262)
==2593556== by 0x197154: ivas_read_format (ivas_init_dec.c:1021)
==2593556== by 0x1955EE: ivas_dec_get_format (ivas_init_dec.c:125)
==2593556== by 0x11BA40: IVAS_DEC_ReadFormat (lib_dec.c:1016)
==2593556== by 0x117E59: decodeVoIP (decoder.c:3569)
==2593556== by 0x110D14: main (decoder.c:774)
Commandline:
./IVAS_dec -voip binaural 48 stvFOA48c_48kbps_concat_stv2ISM48s_48kbps.voip out.wav
Bitstream:
stvFOA48c_48kbps_concat_stv2ISM48s_48kbps.voip
The bitstream was generated by
IVAS_cod -ism 2 NULL NULL 48000 48 scripts/testv/stv2ISM48s.wav stv2ISM48s_48kbps.192
IVAS_cod -sba 1 48000 48 scripts/testv/stvFOA48c.wav stvFOA48c_48kbps.192
cp stvFOA48c_48kbps.192 stvFOA48c_48kbps_concat_stv2ISM48s_48kbps.192
cat stv2ISM48s_48kbps.192 >> stvFOA48c_48kbps_concat_stv2ISM48s_48kbps.192
networkSimulator_g192 scripts/dly_error_profiles/dly_error_profile_0.dat stv2ISM48s_48kbps_concat_stvFOA48c_48kbps.192 stv2ISM48s_48kbps_concat_stvFOA48c_48kbps.voip /dev/null 1 0