diff options
author | Anna Zaks <ganna@apple.com> | 2012-05-03 02:13:46 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2012-05-03 02:13:46 +0000 |
commit | 31595e22b7e0d21b0b7c4c4fb196e97d3edc2a08 (patch) | |
tree | e6941bf23682e24a10b50129794c1ea71b05ef9b | |
parent | 92c6c90e9099b7e27073056b154b2d5e7d5449b1 (diff) |
[analyzer] Revert the functional part of r155944.
The change resulted in multiple issues on the buildbot, so it's not
ready for prime time. Only enable history tracking for tainted
data(which is experimental) for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156049 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/StaticAnalyzer/Core/SValBuilder.cpp | 3 | ||||
-rw-r--r-- | test/Analysis/malloc.c | 7 |
2 files changed, 3 insertions, 7 deletions
diff --git a/lib/StaticAnalyzer/Core/SValBuilder.cpp b/lib/StaticAnalyzer/Core/SValBuilder.cpp index 4c021a4a26..a61cbe8761 100644 --- a/lib/StaticAnalyzer/Core/SValBuilder.cpp +++ b/lib/StaticAnalyzer/Core/SValBuilder.cpp @@ -199,6 +199,9 @@ SVal SValBuilder::makeSymExprValNN(ProgramStateRef State, BinaryOperator::Opcode Op, NonLoc LHS, NonLoc RHS, QualType ResultTy) { + if (!State->isTainted(RHS) && !State->isTainted(LHS)) + return UnknownVal(); + const SymExpr *symLHS = LHS.getAsSymExpr(); const SymExpr *symRHS = RHS.getAsSymExpr(); diff --git a/test/Analysis/malloc.c b/test/Analysis/malloc.c index 9c09051c31..27e34e9039 100644 --- a/test/Analysis/malloc.c +++ b/test/Analysis/malloc.c @@ -776,13 +776,6 @@ int rdar11269741(struct rdar11269741_b_t o) return p->n.m; // expected-warning {{leak}} } -// Pointer arithmetic, returning an ElementRegion. -void *radar11329382(unsigned bl) { - void *ptr = malloc (16); - ptr = ptr + (2 - bl); - return ptr; // no warning -} - void __assert_rtn(const char *, const char *, int, const char *) __attribute__((__noreturn__)); int strcmp(const char *, const char *); char *a (void); |