diff options
author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-07-21 06:15:16 +0300 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-07-21 06:15:16 +0300 |
commit | de473b305c6e18587ee3c205b313e75356e3f540 (patch) | |
tree | 419a3b33a899445b20062297f69d3b2c441e2214 | |
parent | e1bce7b3f6eff218cd23fe26b115d315e78f3ad6 (diff) |
Avoids undefined behaviour from left-shifting negative values
-rw-r--r-- | silk/fixed/find_LTP_FIX.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/silk/fixed/find_LTP_FIX.c b/silk/fixed/find_LTP_FIX.c index b5ef7167..62d4afb2 100644 --- a/silk/fixed/find_LTP_FIX.c +++ b/silk/fixed/find_LTP_FIX.c @@ -85,10 +85,10 @@ TIC(div) } #else for( i = 0; i < LTP_ORDER * LTP_ORDER; i++ ) { - XXLTP_Q17_ptr[ i ] = (opus_int32)( ( ((opus_int64)XXLTP_Q17_ptr[ i ]) << 17 ) / temp ); + XXLTP_Q17_ptr[ i ] = (opus_int32)( silk_LSHIFT64( (opus_int64)XXLTP_Q17_ptr[ i ], 17 ) / temp ); } for( i = 0; i < LTP_ORDER; i++ ) { - xXLTP_Q17_ptr[ i ] = (opus_int32)( ( ((opus_int64)xXLTP_Q17_ptr[ i ]) << 17 ) / temp ); + xXLTP_Q17_ptr[ i ] = (opus_int32)( silk_LSHIFT64( (opus_int64)xXLTP_Q17_ptr[ i ], 17 ) / temp ); } #endif TOC(div) |