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 f03d230e65..cdb30a74e7 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));