diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-07-13 17:34:30 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-07-13 17:34:30 +0300 |
commit | 6c98fdf78af4d1e051f149106bd45a011279ebda (patch) | |
tree | 45bb14d17ece2722075771e1186e52e125f12f85 /src | |
parent | 47ab3221ba7b5858bcf63e3732d20e32b06140b2 (diff) | |
download | paranucker-6c98fdf78af4d1e051f149106bd45a011279ebda.tar.gz paranucker-6c98fdf78af4d1e051f149106bd45a011279ebda.tar.bz2 paranucker-6c98fdf78af4d1e051f149106bd45a011279ebda.tar.xz paranucker-6c98fdf78af4d1e051f149106bd45a011279ebda.zip |
Add ability to detect return from operator new as non null pointer.
It allow this example:
int ptr = new int[10];
// paranucker work with ptr here as with non null pointer
Diffstat (limited to 'src')
-rw-r--r-- | src/analysis/expression.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/analysis/expression.cpp b/src/analysis/expression.cpp index 54d73c2..2162666 100644 --- a/src/analysis/expression.cpp +++ b/src/analysis/expression.cpp @@ -775,7 +775,9 @@ bool handleSetVarToFunction(const std::string &var, return false; if (findTreeListPurpose(static_cast<TreeListNode*>(func->functionType->attribute), - "returns_nonnull")) + "returns_nonnull") || + func->label == "operator new" || + func->label == "operator new []") { // function have attribute returns_nonnull. This mean result cant be null addNonNullVar(wo, var); } |