If you erase while iterating, remember to update the iterator. Bug found by Carlo Kok.
llvm-svn: 191555
diff --git a/lldb/source/Symbol/Symtab.cpp b/lldb/source/Symbol/Symtab.cpp
index 27af698..d3ea9d6 100644
--- a/lldb/source/Symbol/Symtab.cpp
+++ b/lldb/source/Symbol/Symtab.cpp
@@ -682,7 +682,7 @@
if (symbol_type == eSymbolTypeAny || m_symbols[*pos].GetType() == symbol_type)
++pos;
else
- indexes.erase(pos);
+ pos = indexes.erase(pos);
}
}
return indexes.size();
@@ -701,7 +701,7 @@
if (symbol_type == eSymbolTypeAny || m_symbols[*pos].GetType() == symbol_type)
++pos;
else
- indexes.erase(pos);
+ pos = indexes.erase(pos);
}
}
return indexes.size();