summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-07-23 18:10:03 +0300
committerAndrei Karas <akaras@inbox.ru>2015-07-23 18:10:03 +0300
commit6f2b64fca9780cef50f95915f802b1c3952e1504 (patch)
tree9cb6d57d16270ab4c6ea2931cdcf2eb87d46087a /src
parent49350ebe0e33a4c7bd7b024cf605436c6523e4c7 (diff)
downloadparanucker-6f2b64fca9780cef50f95915f802b1c3952e1504.tar.gz
paranucker-6f2b64fca9780cef50f95915f802b1c3952e1504.tar.bz2
paranucker-6f2b64fca9780cef50f95915f802b1c3952e1504.tar.xz
paranucker-6f2b64fca9780cef50f95915f802b1c3952e1504.zip
Fix some false positive with getting address from pointer variable.
Diffstat (limited to 'src')
-rw-r--r--src/analysis/expression.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/analysis/expression.cpp b/src/analysis/expression.cpp
index 245c07d..4c7fa5e 100644
--- a/src/analysis/expression.cpp
+++ b/src/analysis/expression.cpp
@@ -363,6 +363,12 @@ void analyseAddrExpr(AddrExprNode *node,
}
}
+ if (skipNop(node->args[0]) == VAR_DECL)
+ {
+ // do not report if found &ptr
+ if (!getVariableName(node->args[0]).empty())
+ return;
+ }
reportParmDeclNullPointer(node, node->args[0], wi);
}