diff options
author | Artem Dergachev <artem.dergachev@gmail.com> | 2016-10-31 21:11:20 +0000 |
---|---|---|
committer | Artem Dergachev <artem.dergachev@gmail.com> | 2016-10-31 21:11:20 +0000 |
commit | 75f9d3ac7e442342685432f650a226414b44248b (patch) | |
tree | 4fc21ea0dc4da71847f3dd7eb74fb42f30607808 /clang/lib | |
parent | a1f87e5a1ccedd3525e7752c1012e58df4346f36 (diff) | |
download | bcm5719-llvm-75f9d3ac7e442342685432f650a226414b44248b.tar.gz bcm5719-llvm-75f9d3ac7e442342685432f650a226414b44248b.zip |
[analyzer] Allow undefined values in performTrivialCopy.
Reading from a garbage pointer should be modeled as garbage,
and performTrivialCopy should be able to deal with any SVal input.
Patch by Ilya Palachev!
Differential Revision: https://reviews.llvm.org/D25727
llvm-svn: 285640
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp index 68c66ed07b6..011f776d0b0 100644 --- a/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp +++ b/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp @@ -65,7 +65,7 @@ void ExprEngine::performTrivialCopy(NodeBuilder &Bldr, ExplodedNode *Pred, if (Optional<Loc> L = V.getAs<Loc>()) V = Pred->getState()->getSVal(*L); else - assert(V.isUnknown()); + assert(V.isUnknownOrUndef()); const Expr *CallExpr = Call.getOriginExpr(); evalBind(Dst, CallExpr, Pred, ThisVal, V, true); |