]> granicus.if.org Git - clang/commitdiff
[analyzer] Revert the functional part of r155944.
authorAnna Zaks <ganna@apple.com>
Thu, 3 May 2012 02:13:46 +0000 (02:13 +0000)
committerAnna Zaks <ganna@apple.com>
Thu, 3 May 2012 02:13:46 +0000 (02:13 +0000)
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
test/Analysis/malloc.c

index 4c021a4a26c004f426a1f08419cbd91bf6877d6e..a61cbe87614513ca5540780f8ca31882f8e78a7e 100644 (file)
@@ -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();
 
index 9c09051c31b49b17e7f53bd90c1b97a8946dae0d..27e34e9039c1ace2929134ca8e9a1e9dd4ce5031 100644 (file)
@@ -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);