diff --git a/modules/audio_processing/aec3/signal_dependent_erle_estimator.cc b/modules/audio_processing/aec3/signal_dependent_erle_estimator.cc index 6a8d7e30e7..dbe8e487e1 100644 --- a/modules/audio_processing/aec3/signal_dependent_erle_estimator.cc +++ b/modules/audio_processing/aec3/signal_dependent_erle_estimator.cc @@ -328,8 +328,10 @@ void SignalDependentErleEstimator::ComputeEchoEstimatePerFilterSection( std::array H2_section; X2_section.fill(0.f); H2_section.fill(0.f); + const size_t block_limit = std::min(section_boundaries_blocks_[section + 1], + filter_frequency_response.size()); for (size_t block = section_boundaries_blocks_[section]; - block < section_boundaries_blocks_[section + 1]; ++block) { + block < block_limit; ++block) { std::transform(X2_section.begin(), X2_section.end(), spectrum_render_buffer.buffer[idx_render].begin(), X2_section.begin(), std::plus());