diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/analysis/reports.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/analysis/reports.cpp b/src/analysis/reports.cpp index be91c3a..ddc78bb 100644 --- a/src/analysis/reports.cpp +++ b/src/analysis/reports.cpp @@ -179,13 +179,21 @@ void reportParmDeclAttrNullPointer(Node *mainNode, { if (node == PARM_DECL) { - if (isIn(node->label, wi.needCheckNullVars)) + ParmDeclNode *parmDecl = static_cast<ParmDeclNode*>(node); + if (parmDecl->declType == POINTER_TYPE && + isIn(node->label, wi.needCheckNullVars)) + { reportPossibleNullPointer(mainNode, node->label); + } } else if (node == VAR_DECL) { - if (isIn(node->label, wi.needCheckNullVars)) + VarDeclNode *varDecl = static_cast<VarDeclNode*>(node); + if (varDecl->varType == POINTER_TYPE && + isIn(node->label, wi.needCheckNullVars)) + { reportPossibleNullPointer(mainNode, node->label); + } } } else if (node == COMPONENT_REF) |