]> granicus.if.org Git - clang/commitdiff
[analyzer] Taint: when looking up a binding, provide the type.
authorAnna Zaks <ganna@apple.com>
Fri, 13 Jan 2012 00:56:51 +0000 (00:56 +0000)
committerAnna Zaks <ganna@apple.com>
Fri, 13 Jan 2012 00:56:51 +0000 (00:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148080 91177308-0d34-0410-b5e6-96231b3b80d8

lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp

index 81f16bdfa8777ec05765ef34f614a4031344978d..1d112c5328070216a2548d1097aead86896f8fa8 100644 (file)
@@ -243,7 +243,10 @@ SymbolRef GenericTaintChecker::getPointedToSymbol(CheckerContext &C,
     return 0;
   }
 
-  SVal Val = State->getSVal(*AddrLoc);
+  const PointerType *ArgTy =
+    dyn_cast<PointerType>(Arg->getType().getCanonicalType().getTypePtr());
+  assert(ArgTy);
+  SVal Val = State->getSVal(*AddrLoc, ArgTy->getPointeeType());
   return Val.getAsSymbol();
 }