From: Anna Zaks Date: Thu, 3 May 2012 02:13:46 +0000 (+0000) Subject: [analyzer] Revert the functional part of r155944. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=31595e22b7e0d21b0b7c4c4fb196e97d3edc2a08;p=clang [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 --- 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);