fix invalid iterator usage (maybe related to #925)

This commit is contained in:
John
2023-06-11 12:04:48 +02:00
parent dd7c668af4
commit c66bd85e03
+4 -4
View File
@@ -510,13 +510,13 @@ void StringReplacers::reduce(bool compress) {
++it; ++it;
continue; continue;
} }
bool restart = set(it->first, str, false); string key = it->first;
it = m_replacers.erase(it); it = m_replacers.erase(it);
bool restart = set(key, str, false);
reduced = true; reduced = true;
if (restart) { if (restart) {
string upper = it->first; transform(key.begin(), key.end(), key.begin(), ::toupper);
transform(upper.begin(), upper.end(), upper.begin(), ::toupper); if (m_replacers.erase(key) > 0) {
if (m_replacers.erase(upper) > 0) {
break; // restart as iterator is now invalid break; // restart as iterator is now invalid
} }
} }