Commit 02b677ba authored by Manuel Jander's avatar Manuel Jander
Browse files

Avoid crash because of st->exp_buf_wspeech_enc too small. (restore this change).

parent 0fb92ed4
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -675,6 +675,7 @@ void pre_proc_ivas_fx(
            tmp = s_min( tmp, add( norm_s( st->mem_wsp_enc ), sub( Q15, st->exp_buf_wspeech_enc ) ) );
            tmp = s_min( tmp, add( norm_arr( st->buf_wspeech_enc, (Word16) ( st->wspeech_enc - st->buf_wspeech_enc ) ), sub( Q15, st->exp_buf_wspeech_enc ) ) );
            tmp = s_min( tmp, add( norm_arr( st->wspeech_enc + L_FRAME + L_LOOK_12k8, /* L_NEXT_MAX_16k + */ 320 ), sub( Q15, st->exp_buf_wspeech_enc ) ) );
            tmp = s_min( Q15, tmp );
            scale_sig( st->buf_wspeech_enc, (Word16) ( st->wspeech_enc - st->buf_wspeech_enc ), sub( tmp, sub( Q15, st->exp_buf_wspeech_enc ) ) );
            scale_sig( st->wspeech_enc + L_FRAME + L_LOOK_12k8, /* L_NEXT_MAX_16k + */ 320, sub( tmp, sub( Q15, st->exp_buf_wspeech_enc ) ) );
            Copy_Scale_sig_nosat( wsp_fx, st->wspeech_enc, L_FRAME + L_LOOK_12k8, sub( tmp, sub( Q15, e_old_wsp ) ) );
@@ -1417,6 +1418,7 @@ void ivas_compute_core_buffers_fx(
        tmp = s_min( tmp, add( norm_arr( st->buf_wspeech_enc, (Word16) ( st->wspeech_enc - st->buf_wspeech_enc ) ), sub( Q15, st->exp_buf_wspeech_enc ) ) );
        assert( ( st->wspeech_enc - st->buf_wspeech_enc ) + L_FRAME16k + L_LOOK_16k <= L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320 );
        tmp = s_min( tmp, add( norm_arr( st->wspeech_enc + L_FRAME16k + L_LOOK_16k, L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320 - ( (Word16) ( st->wspeech_enc - st->buf_wspeech_enc ) + L_FRAME16k + L_LOOK_16k ) ), sub( Q15, st->exp_buf_wspeech_enc ) ) );
        tmp = s_min( Q15, tmp );
        scale_sig( st->buf_wspeech_enc, (Word16) ( st->wspeech_enc - st->buf_wspeech_enc ), sub( tmp, sub( Q15, st->exp_buf_wspeech_enc ) ) );
        scale_sig( st->wspeech_enc, L_FRAME16k + L_LOOK_16k, sub( tmp, sub( Q15, st->exp_buf_speech_enc_pe ) ) );
        scale_sig( st->wspeech_enc + L_FRAME16k + L_LOOK_16k, L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320 - ( (Word16) ( st->wspeech_enc - st->buf_wspeech_enc ) + L_FRAME16k + L_LOOK_16k ), sub( tmp, sub( Q15, st->exp_buf_wspeech_enc ) ) );