summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-07-21 22:37:02 +0300
committerAndrei Karas <akaras@inbox.ru>2015-07-21 22:37:02 +0300
commit0b9b0be3ad76d69a15b2ad7baafa4278e28becb1 (patch)
tree9ae250c4a4f27b0538b023d3b10156ac94f5183b
parente57f31ed8c663cd3a0c3bac358ad657e6786121f (diff)
downloadparanucker-0b9b0be3ad76d69a15b2ad7baafa4278e28becb1.tar.gz
paranucker-0b9b0be3ad76d69a15b2ad7baafa4278e28becb1.tar.bz2
paranucker-0b9b0be3ad76d69a15b2ad7baafa4278e28becb1.tar.xz
paranucker-0b9b0be3ad76d69a15b2ad7baafa4278e28becb1.zip
Track variables as non null if to pointer variable assigned non zero value.
-rw-r--r--src/analysis/expression.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/analysis/expression.cpp b/src/analysis/expression.cpp
index ba4802b..9fcc11e 100644
--- a/src/analysis/expression.cpp
+++ b/src/analysis/expression.cpp
@@ -756,9 +756,12 @@ bool handleSetVarToFunctionBack(const std::string &var,
Node *node2,
WalkItem &wo)
{
- if (node2 == INTEGER_CST && node2->label == "0")
+ if (node2 == INTEGER_CST)
{
- addNullVar(wo, var);
+ if (node2->label == "0")
+ addNullVar(wo, var);
+ else
+ addNonNullVar(wo, var);
return true;
}
return false;