Fixed crash on invalid code (#5603)

This commit is contained in:
PKEuS 2014-03-23 20:08:16 +01:00
parent 6a5617e552
commit 1be7bfa7fe
2 changed files with 10 additions and 4 deletions

View File

@ -81,7 +81,7 @@ SymbolDatabase::SymbolDatabase(const Tokenizer *tokenizer, const Settings *setti
tok2->linkAt(2)->next()->str() == ";")
tok = tok2->linkAt(2)->next();
else if (Token::Match(tok2->next(), "(|{") &&
tok2->next()->link()->next()->str() == ";")
tok2->next()->link()->strAt(1) == ";")
tok = tok2->next()->link()->next();
else
break; // bail

View File

@ -1844,9 +1844,15 @@ private:
}
void garbage() {
{
GET_SYMBOL_DB("void f( { u = 1 ; } ) { }");
(void)db;
}
{
GET_SYMBOL_DB("{ }; void namespace A::f; { g() { int } }");
(void)db;
}
}
void findFunction1() {
GET_SYMBOL_DB("int foo(int x);\n" /* 1 */