Out-of-bounds access in ivas_jbm_dec.c
Basic info
- Fixed point:
- Decoder (fixed): 22fa8965
Bug description
One pytest stv test case fails: tests/codec_be_on_mr_nonselection/test_param_file.py::test_param_file_tests[stv-Multi-channel 7_1_4 bitrate switching, 48kHz in, 48kHz out, BINAURAL out, HR, JBM Prof 5]
This test case has 12 MCT signals as transport channels (7.1+4) and turns them into 16 HOA Order 3 channels before rendering to Binaural output. In the course of transforming from MCT to HOA, the number of channels gets confused and we end up accessing the MCT transport channels vector above the 12 valid channels. This causes the decoder to crash and the pytest to fail.
A fix exists already, and needs to be tested.
Ways to reproduce
IVAS_dec.exe -fr 20 -T .\headrot.csv -no_delay_cmp -Tracefile ./stv714MC48c.wav_Multi_channel_7_1_4_bitrate_switching_48kHz_in_48kHz_out_BINAURAL_out_HR_JBM_Prof_5.dectrace -VOIP BINAURAL 48 ./stv714MC48c.wav_Multi_channel_7_1_4_bitrate_switching_48kHz_in_48kHz_out_BINAURAL_out_HR_JBM_Prof_5.netsimout ./stv714MC48c.wav_Multi_channel_7_1_4_bitrate_switching_48kHz_in_48kHz_out_BINAURAL_out_HR_JBM_Prof_5.dec.wav
Alternatively, run the pytests:
pytest "tests/codec_be_on_mr_nonselection/test_param_file.py::test_param_file_tests[stv-Multi-channel 7_1_4 bitrate switching, 48kHz in, 48kHz out, BINAURAL out, HR, JBM Prof 5]"
Edited by Michael Sturm