Index: webrtc/modules/audio_coding/codecs/isac/main/source/pitch_filter.c |
diff --git a/webrtc/modules/audio_coding/codecs/isac/main/source/pitch_filter.c b/webrtc/modules/audio_coding/codecs/isac/main/source/pitch_filter.c |
index f03d230e65905df8e347a79bf379a5d86a9557fd..cdb30a74e708712d3e761be048078251efa7640c 100644 |
--- a/webrtc/modules/audio_coding/codecs/isac/main/source/pitch_filter.c |
+++ b/webrtc/modules/audio_coding/codecs/isac/main/source/pitch_filter.c |
@@ -16,6 +16,8 @@ |
#include "os_specific_inline.h" |
+#include "webrtc/system_wrappers/include/compile_assert_c.h" |
+ |
/* |
* We are implementing the following filters; |
* |
@@ -275,6 +277,11 @@ static void FilterFrame(const double* in_data, PitchFiltstr* filter_state, |
/* Copy states to local variables. */ |
memcpy(filter_parameters.buffer, filter_state->ubuf, |
sizeof(filter_state->ubuf)); |
+ COMPILE_ASSERT(sizeof(filter_parameters.buffer) >= |
+ sizeof(filter_state->ubuf)); |
+ memset(filter_parameters.buffer + |
+ sizeof(filter_state->ubuf) / sizeof(filter_state->ubuf[0]), |
+ 0, sizeof(filter_parameters.buffer) - sizeof(filter_state->ubuf)); |
memcpy(filter_parameters.damper_state, filter_state->ystate, |
sizeof(filter_state->ystate)); |