From 5c37749cb6cda912a700c10365ab6dd056a48df7 Mon Sep 17 00:00:00 2001 From: Yuri Gorshenin Date: Thu, 17 Nov 2016 13:45:09 +0300 Subject: [PATCH] [search] Fixed UB in search query cleanup. --- search/geocoder.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/search/geocoder.cpp b/search/geocoder.cpp index f4cf69aa88..d5171f448a 100644 --- a/search/geocoder.cpp +++ b/search/geocoder.cpp @@ -382,12 +382,11 @@ void Geocoder::SetParams(Params const & params) // Filter stop words. if (m_params.m_tokens.size() > 1) { - for (auto & v : m_params.m_tokens) - my::EraseIf(v, &IsStopWord); - - for (size_t i = 0; i < m_params.GetNumTokens();) + for (size_t i = 0; i < m_params.m_tokens.size();) { - if (m_params.m_tokens[i].empty()) + auto & tokens = m_params.m_tokens[i]; + my::EraseIf(tokens, &IsStopWord); + if (tokens.empty()) m_params.RemoveToken(i); else ++i;