From: Alexander Traud Date: Sat, 6 Jan 2018 11:01:00 +0000 (+0100) Subject: codec_gsm: Avoid shifting a negative signed value. X-Git-Tag: 13.20.0-rc1~114^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e60135efd40314f7139f8906bb0fbe7b264a059e;p=thirdparty%2Fasterisk.git codec_gsm: Avoid shifting a negative signed value. clang 5.0 warned about this. ASTERISK-27558 Change-Id: Icc452ecb0d86bbeba78dae768cc472ec540699df --- diff --git a/codecs/gsm/src/short_term.c b/codecs/gsm/src/short_term.c index 4172d322c6..d22d276ba7 100644 --- a/codecs/gsm/src/short_term.c +++ b/codecs/gsm/src/short_term.c @@ -55,21 +55,21 @@ static void Decoding_of_the_coded_Log_Area_Ratios P2((LARc,LARpp), */ #undef STEP -#define STEP( B, MIC, INVA ) \ +#define STEP( B_TIMES_TWO, MIC, INVA ) \ temp1 = GSM_ADD( *LARc++, MIC ) << 10; \ - temp1 = GSM_SUB( temp1, B << 1 ); \ + temp1 = GSM_SUB( temp1, B_TIMES_TWO ); \ temp1 = (word)GSM_MULT_R( INVA, temp1 ); \ *LARpp++ = GSM_ADD( temp1, temp1 ); STEP( 0, -32, 13107 ); STEP( 0, -32, 13107 ); - STEP( 2048, -16, 13107 ); - STEP( -2560, -16, 13107 ); + STEP( 4096, -16, 13107 ); + STEP( -5120, -16, 13107 ); - STEP( 94, -8, 19223 ); - STEP( -1792, -8, 17476 ); - STEP( -341, -4, 31454 ); - STEP( -1144, -4, 29708 ); + STEP( 188, -8, 19223 ); + STEP( -3584, -8, 17476 ); + STEP( -682, -4, 31454 ); + STEP( -2288, -4, 29708 ); /* NOTE: the addition of *MIC is used to restore * the sign of *LARc.