Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2016-07-30 18:38:28 +0300
committerJean-Marc Valin <jmvalin@jmvalin.ca>2016-07-30 18:39:34 +0300
commit5da0498a3e23339aaceba659a97e935031d5693d (patch)
treec8e05eda40fdd6daad26bc562dd3473462bb6d9b
parentabe8b7851346e498350d5ea0ef8238a634d4d754 (diff)
Fixes overflow in CNG
(found through fuzzing)
-rw-r--r--silk/CNG.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/silk/CNG.c b/silk/CNG.c
index 8443ad63..701b36a3 100644
--- a/silk/CNG.c
+++ b/silk/CNG.c
@@ -170,7 +170,7 @@ void silk_CNG(
}
/* Update states */
- CNG_sig_Q14[ MAX_LPC_ORDER + i ] = silk_ADD_LSHIFT( CNG_sig_Q14[ MAX_LPC_ORDER + i ], LPC_pred_Q10, 4 );
+ CNG_sig_Q14[ MAX_LPC_ORDER + i ] = silk_ADD_SAT32( CNG_sig_Q14[ MAX_LPC_ORDER + i ], silk_LSHIFT_SAT32( LPC_pred_Q10, 4 ) );
/* Scale with Gain and add to input signal */
frame[ i ] = (opus_int16)silk_ADD_SAT16( frame[ i ], silk_SAT16( silk_RSHIFT_ROUND( silk_SMULWW( CNG_sig_Q14[ MAX_LPC_ORDER + i ], gain_Q10 ), 8 ) ) );