Fixed crash due to missing null pointer check.
This commit is contained in:
parent
50c612b7d9
commit
58460edaf8
|
@ -139,7 +139,7 @@ void CheckFunctions::invalidFunctionUsage()
|
|||
const Variable* const variable = argtok->variable();
|
||||
// Is non-null terminated local variable of type char (e.g. char buf[] = {'x'};) ?
|
||||
if (variable && variable->isLocal()
|
||||
&& valueType->type == ValueType::Type::CHAR) {
|
||||
&& valueType && valueType->type == ValueType::Type::CHAR) {
|
||||
const Token* varTok = variable->declEndToken();
|
||||
auto count = -1; // Find out explicitly set count, e.g.: char buf[3] = {...}. Variable 'count' is set to 3 then.
|
||||
if (varTok && Token::simpleMatch(varTok->previous(), "]"))
|
||||
|
|
|
@ -649,6 +649,17 @@ private:
|
|||
" return fopen(fileName, \"r\"); \n"
|
||||
"}");
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
|
||||
check("void scanMetaTypes()\n" // don't crash
|
||||
"{\n"
|
||||
" QVector<int> metaTypes;\n"
|
||||
" for (int mtId = 0; mtId <= QMetaType::User; ++mtId) {\n"
|
||||
" const auto name = QMetaType::typeName(mtId);\n"
|
||||
" if (strstr(name, \"GammaRay::\") != name)\n"
|
||||
" metaTypes.push_back(mtId);\n"
|
||||
" }\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
}
|
||||
|
||||
void mathfunctionCall_sqrt() {
|
||||
|
|
Loading…
Reference in New Issue