summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/analysis/expression.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/analysis/expression.cpp b/src/analysis/expression.cpp
index 2c0dba3..eacf457 100644
--- a/src/analysis/expression.cpp
+++ b/src/analysis/expression.cpp
@@ -487,8 +487,11 @@ void analyseCallExpr(CallExprNode *node, const WalkItem &wi, WalkItem &wo)
if (function == ARRAY_REF)
{
ArrayRefNode *arrRef = static_cast<ArrayRefNode*>(function);
- if (!arrRef->args.empty() && arrRef->args[0] == COMPONENT_REF)
+ if (!arrRef->args.empty() &&
+ (arrRef->args[0] == COMPONENT_REF || VAR_DECL))
+ {
function = arrRef->args[0];
+ }
}
reportParmDeclNullPointer(node, function, wi);
if (!getVariableName(function).empty())