From 4cdddb7e6d100f51fee497a040ad72f4db0cc40b Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Tue, 28 Aug 2012 21:46:49 +0200 Subject: [PATCH] BufferManager: protect complete_buffername from regex_error --- src/buffer_manager.cc | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/buffer_manager.cc b/src/buffer_manager.cc index 5a1f63da..70ecfba7 100644 --- a/src/buffer_manager.cc +++ b/src/buffer_manager.cc @@ -66,13 +66,17 @@ CandidateList BufferManager::complete_buffername(const String& prefix, // no prefix completion found, check regex matching if (result.empty()) { - Regex ex(real_prefix.begin(), real_prefix.end()); - for (auto& buffer : m_buffers) + try { - const String& name = buffer->name(); - if (boost::regex_search(name.begin(), name.end(), ex)) - result.push_back(name); + Regex ex(real_prefix.begin(), real_prefix.end()); + for (auto& buffer : m_buffers) + { + const String& name = buffer->name(); + if (boost::regex_search(name.begin(), name.end(), ex)) + result.push_back(name); + } } + catch (boost::regex_error& err) {} } return result; }