Line
Link Here
|
0 |
-- a/media/webrtc/trunk/webrtc/common_audio/vad/vad_core.c |
0 |
++ b/media/webrtc/trunk/webrtc/common_audio/vad/vad_core.c |
Lines 115-122
Link Here
|
115 |
// undefined behavior, so not a good idea; this just makes UBSan ignore the |
115 |
// undefined behavior, so not a good idea; this just makes UBSan ignore the |
116 |
// violation, so that our old code can continue to do what it's always been |
116 |
// violation, so that our old code can continue to do what it's always been |
117 |
// doing.) |
117 |
// doing.) |
118 |
static inline int32_t OverflowingMulS16ByS32ToS32(int16_t a, int32_t b) |
118 |
RTC_NO_SANITIZE("signed-integer-overflow") |
119 |
RTC_NO_SANITIZE("signed-integer-overflow") { |
119 |
static inline int32_t OverflowingMulS16ByS32ToS32(int16_t a, int32_t b) { |
120 |
return a * b; |
120 |
return a * b; |
121 |
} |
121 |
} |
122 |
|
122 |
|
123 |
-- a/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/isac/fix/source/lattice.c |
123 |
++ b/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/isac/fix/source/lattice.c |
Lines 209-216
Link Here
|
209 |
// Left shift of an int32_t that's allowed to overflow. (It's still undefined |
209 |
// Left shift of an int32_t that's allowed to overflow. (It's still undefined |
210 |
// behavior, so not a good idea; this just makes UBSan ignore the violation, so |
210 |
// behavior, so not a good idea; this just makes UBSan ignore the violation, so |
211 |
// that our old code can continue to do what it's always been doing.) |
211 |
// that our old code can continue to do what it's always been doing.) |
212 |
static inline int32_t OverflowingLShiftS32(int32_t x, int shift) |
212 |
RTC_NO_SANITIZE("shift") |
213 |
RTC_NO_SANITIZE("shift") { |
213 |
static inline int32_t OverflowingLShiftS32(int32_t x, int shift) { |
214 |
return x << shift; |
214 |
return x << shift; |
215 |
} |
215 |
} |
216 |
|
216 |
|