summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/analysis/reports.cpp12
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)