diff options
author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-07-30 11:38:28 -0400 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-07-30 11:39:34 -0400 |
commit | 5da0498a3e23339aaceba659a97e935031d5693d (patch) | |
tree | c8e05eda40fdd6daad26bc562dd3473462bb6d9b /silk/CNG.c | |
parent | abe8b7851346e498350d5ea0ef8238a634d4d754 (diff) | |
download | libopus-5da0498a3e23339aaceba659a97e935031d5693d.tar.gz |
Fixes overflow in CNG
(found through fuzzing)
Diffstat (limited to 'silk/CNG.c')
-rw-r--r-- | silk/CNG.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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 ) ) ); |