| Index: webrtc/modules/audio_coding/codecs/isac/fix/source/isacfix.c | 
| diff --git a/webrtc/modules/audio_coding/codecs/isac/fix/source/isacfix.c b/webrtc/modules/audio_coding/codecs/isac/fix/source/isacfix.c | 
| index 2441e41ccb49227657b619bade968c014a87f57a..7b0be8c44bdda67d7a21865ebf9471e97f3dfd20 100644 | 
| --- a/webrtc/modules/audio_coding/codecs/isac/fix/source/isacfix.c | 
| +++ b/webrtc/modules/audio_coding/codecs/isac/fix/source/isacfix.c | 
| @@ -777,7 +777,7 @@ int WebRtcIsacfix_Decode(ISACFIX_MainStruct* ISAC_main_inst, | 
| ISACFIX_SubStruct *ISAC_inst; | 
| /* number of samples (480 or 960), output from decoder */ | 
| /* that were actually used in the encoder/decoder (determined on the fly) */ | 
| -  int16_t     number_of_samples; | 
| +  int16_t number_of_samples; | 
| int declen = 0; | 
|  | 
| /* typecast pointer to real structure */ | 
| @@ -807,8 +807,8 @@ int WebRtcIsacfix_Decode(ISACFIX_MainStruct* ISAC_main_inst, | 
| /* added for NetEq purposes (VAD/DTX related) */ | 
| *speechType=1; | 
|  | 
| -  declen = WebRtcIsacfix_DecodeImpl(decoded,&ISAC_inst->ISACdec_obj, &number_of_samples); | 
| - | 
| +  declen = WebRtcIsacfix_DecodeImpl(decoded, &ISAC_inst->ISACdec_obj, | 
| +                                    &number_of_samples); | 
| if (declen < 0) { | 
| /* Some error inside the decoder */ | 
| ISAC_inst->errorcode = -(int16_t)declen; | 
| @@ -818,14 +818,18 @@ int WebRtcIsacfix_Decode(ISACFIX_MainStruct* ISAC_main_inst, | 
|  | 
| /* error check */ | 
|  | 
| -  if (declen & 0x0001) { | 
| -    if (len != declen && len != declen + (((ISAC_inst->ISACdec_obj.bitstr_obj).stream[declen>>1]) & 0x00FF) ) { | 
| +  if (declen & 1) { | 
| +    if (len != declen && | 
| +        len != declen + | 
| +            ((ISAC_inst->ISACdec_obj.bitstr_obj.stream[declen >> 1]) & 0xFF)) { | 
| ISAC_inst->errorcode = ISAC_LENGTH_MISMATCH; | 
| memset(decoded, 0, sizeof(int16_t) * number_of_samples); | 
| return -1; | 
| } | 
| } else { | 
| -    if (len != declen && len != declen + (((ISAC_inst->ISACdec_obj.bitstr_obj).stream[declen>>1]) >> 8) ) { | 
| +    if (len != declen && | 
| +        len != declen + | 
| +            ((ISAC_inst->ISACdec_obj.bitstr_obj.stream[declen >> 1]) >> 8)) { | 
| ISAC_inst->errorcode = ISAC_LENGTH_MISMATCH; | 
| memset(decoded, 0, sizeof(int16_t) * number_of_samples); | 
| return -1; | 
| @@ -870,7 +874,7 @@ int WebRtcIsacfix_DecodeNb(ISACFIX_MainStruct *ISAC_main_inst, | 
| ISACFIX_SubStruct *ISAC_inst; | 
| /* twice the number of samples (480 or 960), output from decoder */ | 
| /* that were actually used in the encoder/decoder (determined on the fly) */ | 
| -  int16_t     number_of_samples; | 
| +  int16_t number_of_samples; | 
| int declen = 0; | 
| int16_t dummy[FRAMESAMPLES/2]; | 
|  | 
| @@ -901,8 +905,8 @@ int WebRtcIsacfix_DecodeNb(ISACFIX_MainStruct *ISAC_main_inst, | 
| /* added for NetEq purposes (VAD/DTX related) */ | 
| *speechType=1; | 
|  | 
| -  declen = WebRtcIsacfix_DecodeImpl(decoded,&ISAC_inst->ISACdec_obj, &number_of_samples); | 
| - | 
| +  declen = WebRtcIsacfix_DecodeImpl(decoded, &ISAC_inst->ISACdec_obj, | 
| +                                    &number_of_samples); | 
| if (declen < 0) { | 
| /* Some error inside the decoder */ | 
| ISAC_inst->errorcode = -(int16_t)declen; | 
| @@ -912,14 +916,18 @@ int WebRtcIsacfix_DecodeNb(ISACFIX_MainStruct *ISAC_main_inst, | 
|  | 
| /* error check */ | 
|  | 
| -  if (declen & 0x0001) { | 
| -    if (len != declen && len != declen + (((ISAC_inst->ISACdec_obj.bitstr_obj).stream[declen>>1]) & 0x00FF) ) { | 
| +  if (declen & 1) { | 
| +    if (len != declen && | 
| +        len != declen + | 
| +            ((ISAC_inst->ISACdec_obj.bitstr_obj.stream[declen >> 1]) & 0xFF)) { | 
| ISAC_inst->errorcode = ISAC_LENGTH_MISMATCH; | 
| memset(decoded, 0, sizeof(int16_t) * number_of_samples); | 
| return -1; | 
| } | 
| } else { | 
| -    if (len != declen && len != declen + (((ISAC_inst->ISACdec_obj.bitstr_obj).stream[declen>>1]) >> 8) ) { | 
| +    if (len != declen && | 
| +        len != declen + | 
| +            ((ISAC_inst->ISACdec_obj.bitstr_obj.stream[declen >>1]) >> 8)) { | 
| ISAC_inst->errorcode = ISAC_LENGTH_MISMATCH; | 
| memset(decoded, 0, sizeof(int16_t) * number_of_samples); | 
| return -1; | 
| @@ -1312,7 +1320,8 @@ int16_t WebRtcIsacfix_ReadBwIndex(const uint8_t* encoded, | 
| read_be16(encoded, kRequiredEncodedLenBytes, streamdata.stream); | 
|  | 
| /* decode frame length, needed to get to the rateIndex in the bitstream */ | 
| -  err = WebRtcIsacfix_DecodeFrameLen(&streamdata, rateIndex); | 
| +  int16_t frameLength; | 
| +  err = WebRtcIsacfix_DecodeFrameLen(&streamdata, &frameLength); | 
| if (err<0)  // error check | 
| return err; | 
|  | 
|  |