diff options
author | Jean-Marc Valin <jmvalin@amazon.com> | 2023-07-31 09:31:33 +0300 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@amazon.com> | 2023-07-31 09:31:33 +0300 |
commit | f7da315c16e687ad5ba6cbe6b0774f9c2802c6a2 (patch) | |
tree | bc663024911dae841ffbdd4b972eff62103a16db | |
parent | a3633b4db6bb26295f499408d9e7f5270e8febbe (diff) |
buffer overflow fix
-rw-r--r-- | dnn/fwgan.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/dnn/fwgan.c b/dnn/fwgan.c index 63468f06..cb0c69aa 100644 --- a/dnn/fwgan.c +++ b/dnn/fwgan.c @@ -140,7 +140,7 @@ static void fwgan_deemphasis(float *pcm, float *deemph_mem) { static void run_fwgan_subframe(FWGANState *st, float *pcm, const float *cond, float w0) { float tmp1[FWC1_FC_0_OUT_SIZE]; - float tmp2[FWC2_FC_0_OUT_SIZE]; + float tmp2[IMAX(RNN_GRU_STATE_SIZE, FWC2_FC_0_OUT_SIZE)]; float feat_in[FEAT_IN_SIZE]; float rnn_in[FEAT_IN_CONV1_CONV_OUT_SIZE]; float pembed[FWGAN_FRAME_SIZE/2]; @@ -158,6 +158,7 @@ static void run_fwgan_subframe(FWGANState *st, float *pcm, const float *cond, fl compute_generic_gru(&model->rnn_gru_input, &model->rnn_gru_recurrent, st->rnn_state, rnn_in); + celt_assert(IMAX(RNN_GRU_STATE_SIZE, FWC2_FC_0_OUT_SIZE) >= model->rnn_nl_gate.nb_outputs); compute_gated_activation(&model->rnn_nl_gate, tmp2, st->rnn_state, ACTIVATION_TANH); compute_generic_conv1d(&model->fwc1_fc_0, tmp1, st->fwc1_state, tmp2, RNN_GRU_STATE_SIZE, ACTIVATION_TANH); |