From c66bd85e03883270258f38b6c6988fd6b362d2e0 Mon Sep 17 00:00:00 2001 From: John Date: Sun, 11 Jun 2023 12:04:48 +0200 Subject: [PATCH] fix invalid iterator usage (maybe related to #925) --- src/lib/ebus/stringhelper.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/ebus/stringhelper.cpp b/src/lib/ebus/stringhelper.cpp index 2ff6e6ee..449c8df5 100644 --- a/src/lib/ebus/stringhelper.cpp +++ b/src/lib/ebus/stringhelper.cpp @@ -510,13 +510,13 @@ void StringReplacers::reduce(bool compress) { ++it; continue; } - bool restart = set(it->first, str, false); + string key = it->first; it = m_replacers.erase(it); + bool restart = set(key, str, false); reduced = true; if (restart) { - string upper = it->first; - transform(upper.begin(), upper.end(), upper.begin(), ::toupper); - if (m_replacers.erase(upper) > 0) { + transform(key.begin(), key.end(), key.begin(), ::toupper); + if (m_replacers.erase(key) > 0) { break; // restart as iterator is now invalid } }