Fixed crash in AST
This commit is contained in:
parent
d7af52865d
commit
e0c8118c02
|
@ -1482,6 +1482,8 @@ static Token * createAstAtToken(Token *tok, bool cpp)
|
||||||
decl = true;
|
decl = true;
|
||||||
typetok = typetok->next();
|
typetok = typetok->next();
|
||||||
}
|
}
|
||||||
|
if (!typetok)
|
||||||
|
return nullptr;
|
||||||
if (decl && Token::Match(typetok->previous(), "[*&] %var% ="))
|
if (decl && Token::Match(typetok->previous(), "[*&] %var% ="))
|
||||||
tok = typetok;
|
tok = typetok;
|
||||||
}
|
}
|
||||||
|
|
|
@ -245,6 +245,7 @@ private:
|
||||||
TEST_CASE(garbageCode211); // #8764
|
TEST_CASE(garbageCode211); // #8764
|
||||||
TEST_CASE(garbageCode212); // #8765
|
TEST_CASE(garbageCode212); // #8765
|
||||||
TEST_CASE(garbageCode213); // #8758
|
TEST_CASE(garbageCode213); // #8758
|
||||||
|
TEST_CASE(garbageCode214);
|
||||||
|
|
||||||
TEST_CASE(garbageCodeFuzzerClientMode1); // test cases created with the fuzzer client, mode 1
|
TEST_CASE(garbageCodeFuzzerClientMode1); // test cases created with the fuzzer client, mode 1
|
||||||
|
|
||||||
|
@ -1666,6 +1667,10 @@ private:
|
||||||
ASSERT_THROW(checkCode("{\"\"[(1||)];}"), InternalError);
|
ASSERT_THROW(checkCode("{\"\"[(1||)];}"), InternalError);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void garbageCode214() {
|
||||||
|
checkCode("THIS FILE CONTAINS VARIOUS TEXT");
|
||||||
|
}
|
||||||
|
|
||||||
void syntaxErrorFirstToken() {
|
void syntaxErrorFirstToken() {
|
||||||
ASSERT_THROW(checkCode("&operator(){[]};"), InternalError); // #7818
|
ASSERT_THROW(checkCode("&operator(){[]};"), InternalError); // #7818
|
||||||
ASSERT_THROW(checkCode("*(*const<> (size_t); foo) { } *(*const (size_t)() ; foo) { }"), InternalError); // #6858
|
ASSERT_THROW(checkCode("*(*const<> (size_t); foo) { } *(*const (size_t)() ; foo) { }"), InternalError); // #6858
|
||||||
|
|
Loading…
Reference in New Issue