diff options
| author | Anna Zaks <ganna@apple.com> | 2012-01-13 00:56:51 +0000 |
|---|---|---|
| committer | Anna Zaks <ganna@apple.com> | 2012-01-13 00:56:51 +0000 |
| commit | a31f6b9559c7473a7871dc69a44af267ab1de978 (patch) | |
| tree | 767f0eb1f0e509c287a1261b779a564f74fe479e /clang/lib/StaticAnalyzer | |
| parent | 622813009955259a084a1fc3f0816c00d89cf12d (diff) | |
| download | bcm5719-llvm-a31f6b9559c7473a7871dc69a44af267ab1de978.tar.gz bcm5719-llvm-a31f6b9559c7473a7871dc69a44af267ab1de978.zip | |
[analyzer] Taint: when looking up a binding, provide the type.
llvm-svn: 148080
Diffstat (limited to 'clang/lib/StaticAnalyzer')
| -rw-r--r-- | clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp index 81f16bdfa87..1d112c53280 100644 --- a/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp @@ -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(); } |

