fix #2865 (segmentation fault of cppcheck ( char a[1] ))
This commit is contained in:
parent
1713eeb532
commit
272eb445fb
|
@ -1305,7 +1305,7 @@ bool SymbolDatabase::arrayDimensions(std::vector<Dimension> &dimensions, const T
|
|||
|
||||
const Token *dim = tok;
|
||||
|
||||
while (dim->str() == "[" && dim->next() && dim->next()->str() != "]")
|
||||
while (dim && dim->next() && dim->str() == "[" && dim->next()->str() != "]")
|
||||
{
|
||||
Dimension dimension;
|
||||
dimension.num = 0;
|
||||
|
|
|
@ -120,6 +120,7 @@ private:
|
|||
TEST_CASE(symboldatabase15); // ticket #2591
|
||||
TEST_CASE(symboldatabase16); // ticket #2637
|
||||
TEST_CASE(symboldatabase17); // ticket #2657
|
||||
TEST_CASE(symboldatabase18); // ticket #2865
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationCanHandleNull()
|
||||
|
@ -869,6 +870,14 @@ private:
|
|||
ASSERT_EQUALS("", errout.str());
|
||||
}
|
||||
|
||||
void symboldatabase18()
|
||||
{
|
||||
// ticket #2865 - segmentation fault
|
||||
check("char a[1]\n");
|
||||
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
REGISTER_TEST(TestSymbolDatabase)
|
||||
|
|
Loading…
Reference in New Issue