Local fixes to avoid access to NULL-token
This commit is contained in:
parent
9236ea4a20
commit
5b347c537b
|
@ -1721,6 +1721,8 @@ void CheckBufferOverrun::arrayIndexThenCheck()
|
||||||
if (tok->type() == Token::eComparisonOp)
|
if (tok->type() == Token::eComparisonOp)
|
||||||
tok = tok->tokAt(2);
|
tok = tok->tokAt(2);
|
||||||
|
|
||||||
|
if (!tok)
|
||||||
|
break;
|
||||||
// skip close parentheses
|
// skip close parentheses
|
||||||
if (tok->str() == ")")
|
if (tok->str() == ")")
|
||||||
tok = tok->next();
|
tok = tok->next();
|
||||||
|
|
|
@ -98,6 +98,8 @@ void CheckString::checkAlwaysTrueOrFalseStringCompare()
|
||||||
alwaysTrueFalseStringCompareError(tok, str1, str2);
|
alwaysTrueFalseStringCompareError(tok, str1, str2);
|
||||||
tok = tok->tokAt(5);
|
tok = tok->tokAt(5);
|
||||||
}
|
}
|
||||||
|
if (!tok)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -90,6 +90,8 @@ private:
|
||||||
TEST_CASE(garbageCode49); // #6715
|
TEST_CASE(garbageCode49); // #6715
|
||||||
TEST_CASE(garbageCode50); // #6718
|
TEST_CASE(garbageCode50); // #6718
|
||||||
TEST_CASE(garbageCode51); // #6719
|
TEST_CASE(garbageCode51); // #6719
|
||||||
|
TEST_CASE(garbageCode52); // #6720
|
||||||
|
TEST_CASE(garbageCode53); // #6721
|
||||||
|
|
||||||
TEST_CASE(garbageValueFlow);
|
TEST_CASE(garbageValueFlow);
|
||||||
TEST_CASE(garbageSymbolDatabase);
|
TEST_CASE(garbageSymbolDatabase);
|
||||||
|
@ -515,6 +517,14 @@ private:
|
||||||
checkCode(" (const \"C\" ...); struct base { int f2; base (int arg1, int arg2); }; global_base(0x55, 0xff); { ((global_base.f1 0x55) (global_base.f2 0xff)) { } } base::base(int arg1, int arg2) { f2 = }");
|
checkCode(" (const \"C\" ...); struct base { int f2; base (int arg1, int arg2); }; global_base(0x55, 0xff); { ((global_base.f1 0x55) (global_base.f2 0xff)) { } } base::base(int arg1, int arg2) { f2 = }");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void garbageCode52() { // #6720
|
||||||
|
checkCode("a \"b\" not_eq \"c\"");
|
||||||
|
}
|
||||||
|
|
||||||
|
void garbageCode53() { // #6721
|
||||||
|
checkCode("{ { } }; void foo (struct int i) { x->b[i] = = }");
|
||||||
|
}
|
||||||
|
|
||||||
void garbageValueFlow() {
|
void garbageValueFlow() {
|
||||||
// #6089
|
// #6089
|
||||||
const char* code = "{} int foo(struct, x1, struct x2, x3, int, x5, x6, x7)\n"
|
const char* code = "{} int foo(struct, x1, struct x2, x3, int, x5, x6, x7)\n"
|
||||||
|
|
Loading…
Reference in New Issue