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

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

View File

@ -1844,8 +1844,14 @@ private:
} }
void garbage() { void garbage() {
GET_SYMBOL_DB("void f( { u = 1 ; } ) { }"); {
(void)db; GET_SYMBOL_DB("void f( { u = 1 ; } ) { }");
(void)db;
}
{
GET_SYMBOL_DB("{ }; void namespace A::f; { g() { int } }");
(void)db;
}
} }
void findFunction1() { void findFunction1() {