If you erase while iterating, remember to update the iterator. Bug found by Carlo Kok.

llvm-svn: 191555
This commit is contained in:
Jim Ingham 2013-09-27 20:58:17 +00:00
parent 13ca93c0e3
commit 6dafc4203d
1 changed files with 2 additions and 2 deletions

View File

@ -682,7 +682,7 @@ Symtab::AppendSymbolIndexesWithNameAndType (const ConstString& symbol_name, Symb
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 @@ Symtab::AppendSymbolIndexesWithNameAndType (const ConstString& symbol_name, Symb
if (symbol_type == eSymbolTypeAny || m_symbols[*pos].GetType() == symbol_type)
++pos;
else
indexes.erase(pos);
pos = indexes.erase(pos);
}
}
return indexes.size();