From dcb285211683d7e6d7ee7f47a7c556239f91c231 Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin <jean-marc.valin@octasic.com> Date: Wed, 2 Feb 2011 18:16:06 -0500 Subject: [PATCH] Fixes uninitialised memory issues --- src_FIX/SKP_Silk_find_pitch_lags_FIX.c | 5 +++++ src_FLP/SKP_Silk_find_pitch_lags_FLP.c | 5 +++++ src_FLP/SKP_Silk_wrappers_FLP.c | 7 ++++--- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src_FIX/SKP_Silk_find_pitch_lags_FIX.c b/src_FIX/SKP_Silk_find_pitch_lags_FIX.c index ad78d55c4..12f62a028 100644 --- a/src_FIX/SKP_Silk_find_pitch_lags_FIX.c +++ b/src_FIX/SKP_Silk_find_pitch_lags_FIX.c @@ -128,5 +128,10 @@ void SKP_Silk_find_pitch_lags_FIX( } else { psEncCtrl->sCmn.signalType = TYPE_UNVOICED; } + } else { + SKP_memset( psEncCtrl->sCmn.pitchL, 0, sizeof( psEncCtrl->sCmn.pitchL ) ); + psEncCtrl->sCmn.lagIndex = 0; + psEncCtrl->sCmn.contourIndex = 0; + psEnc->LTPCorr_Q15 = 0; } } diff --git a/src_FLP/SKP_Silk_find_pitch_lags_FLP.c b/src_FLP/SKP_Silk_find_pitch_lags_FLP.c index 5ab8ef64a..01e83486f 100644 --- a/src_FLP/SKP_Silk_find_pitch_lags_FLP.c +++ b/src_FLP/SKP_Silk_find_pitch_lags_FLP.c @@ -120,5 +120,10 @@ void SKP_Silk_find_pitch_lags_FLP( } else { psEncCtrl->sCmn.signalType = TYPE_UNVOICED; } + } else { + SKP_memset( psEncCtrl->sCmn.pitchL, 0, sizeof( psEncCtrl->sCmn.pitchL ) ); + psEncCtrl->sCmn.lagIndex = 0; + psEncCtrl->sCmn.contourIndex = 0; + psEnc->LTPCorr = 0; } } diff --git a/src_FLP/SKP_Silk_wrappers_FLP.c b/src_FLP/SKP_Silk_wrappers_FLP.c index c87c20b21..449424ea9 100644 --- a/src_FLP/SKP_Silk_wrappers_FLP.c +++ b/src_FLP/SKP_Silk_wrappers_FLP.c @@ -163,7 +163,6 @@ void SKP_Silk_NSQ_wrapper_FLP( SKP_int i, j; SKP_float tmp_float; SKP_int16 x_16[ MAX_FRAME_LENGTH ]; - /* Prediction and coding parameters */ SKP_int32 Gains_Q16[ MAX_NB_SUBFR ]; SKP_DWORD_ALIGN SKP_int16 PredCoef_Q12[ 2 ][ MAX_LPC_ORDER ]; SKP_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ]; @@ -179,8 +178,10 @@ void SKP_Silk_NSQ_wrapper_FLP( /* Convert control struct to fix control struct */ /* Noise shape parameters */ - for( i = 0; i < MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER; i++ ) { - AR2_Q13[ i ] = SKP_float2int( psEncCtrl->AR2[ i ] * 8192.0f ); + for( i = 0; i < MAX_NB_SUBFR; i++ ) { + for( j = 0; j < psEnc->sCmn.shapingLPCOrder; j++ ) { + AR2_Q13[ i * MAX_SHAPE_LPC_ORDER + j ] = SKP_float2int( psEncCtrl->AR2[ i * MAX_SHAPE_LPC_ORDER + j ] * 8192.0f ); + } } for( i = 0; i < MAX_NB_SUBFR; i++ ) { -- GitLab