Skip to content

USAN: out-of-bounds-index in lib_enc/enc_gain.c:163:13

Basic Info

Bug description

Clang USAN found an out-of-bounds-index error at lib_enc/enc_gain.c:163:13:

lib_enc/enc_gain.c:163:13: runtime error: index -139 out of bounds for type 'float [41]'
#0 0xb77bcd in E_GAIN_closed_loop_search /builds/rep/ivas-codec-pc/ivas-codec/lib_enc/enc_gain.c:163:13
#1 0x8cc63c in Mode2_pit_encode /builds/rep/ivas-codec-pc/ivas-codec/lib_enc/pit_enc.c:1265:15
#2 0xf01c52 in coder_acelp /builds/rep/ivas-codec-pc/ivas-codec/lib_enc/cod_ace.c:220:13
#3 0xb09b0f in core_encode_openloop /builds/rep/ivas-codec-pc/ivas-codec/lib_enc/core_enc_ol.c:270:9
#4 0xb6abc1 in enc_acelp_tcx_main /builds/rep/ivas-codec-pc/ivas-codec/lib_enc/enc_acelp_tcx_main.c:92:13
#5 0x4c6402 in evs_enc /builds/rep/ivas-codec-pc/ivas-codec/lib_enc/evs_enc.c:294:9
#6 0x44de85 in IVAS_ENC_EncodeFrameToSerial /builds/rep/ivas-codec-pc/ivas-codec/lib_enc/lib_enc.c:1334:28
#7 0x42d0d2 in main /builds/rep/ivas-codec-pc/ivas-codec/apps/encoder.c:882:28
#8 0x7f55b55e2d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#9 0x7f55b55e2e3f in __libc_start_main csu/../csu/libc-start.c:392:3
#10 0x404774 in _start (/builds/rep/ivas-codec-pc/ivas-codec/IVAS_cod+0x404774)

SUMMARY: UndefinedBehaviorSanitizer: out-of-bounds-index lib_enc/enc_gain.c:163:13 in

How to reproduce

Build with

make clean
make -j CLANG=3
export UBSAN_OPTIONS=report_error_type=1,print_stacktrace=1

Then run

IVAS_cod -stereo_dmx_evs 24400 48 scripts/testv/stvST48c.wav stvST48c.wav_Stereo_downmix_to_bit_exact_EVS_at_24400_kbps_48kHz_in_48kHz_out.192

or

python3 -m pytest "test_param_file_tests[stv-Stereo downmix to bit-exact EVS at 24400 kbps, 48kHz in, 48kHz out]" -n auto --update_ref --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec