diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-06-27 15:54:01 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-06-27 15:54:01 +0300 |
commit | 4c3b114e79c52a542a60667a2f9da0bb6c6f4f64 (patch) | |
tree | 5409a114d8615ec40bc6179de75624c06e2991ee /src/analysis/expression.cpp | |
parent | c074c192c0130129cadacb3d72495b1675a5d431 (diff) | |
download | paranucker-4c3b114e79c52a542a60667a2f9da0bb6c6f4f64.tar.gz paranucker-4c3b114e79c52a542a60667a2f9da0bb6c6f4f64.tar.bz2 paranucker-4c3b114e79c52a542a60667a2f9da0bb6c6f4f64.tar.xz paranucker-4c3b114e79c52a542a60667a2f9da0bb6c6f4f64.zip |
Allow check function pointers in arrays in local variables.
Diffstat (limited to 'src/analysis/expression.cpp')
-rw-r--r-- | src/analysis/expression.cpp | 5 |
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()) |