From 31595e22b7e0d21b0b7c4c4fb196e97d3edc2a08 Mon Sep 17 00:00:00 2001 From: Anna Zaks Date: Thu, 3 May 2012 02:13:46 +0000 Subject: [PATCH] [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 --- lib/StaticAnalyzer/Core/SValBuilder.cpp | 3 +++ 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); -- 2.40.0