summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2011-12-14 00:56:15 +0000
committerAnna Zaks <ganna@apple.com>2011-12-14 00:56:15 +0000
commit04b57c25bcd908a1fd32ad85e80e2df3564fb6f8 (patch)
treec3627812276f7134c48be03557ef0d1590db986a /clang/lib/StaticAnalyzer/Core/ProgramState.cpp
parentcfde1a26b4aca79681053ba2cd64d51b2b7958e1 (diff)
downloadbcm5719-llvm-04b57c25bcd908a1fd32ad85e80e2df3564fb6f8.tar.gz
bcm5719-llvm-04b57c25bcd908a1fd32ad85e80e2df3564fb6f8.zip
[analyzer] Minor refactor to addTaint.
llvm-svn: 146535
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ProgramState.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/ProgramState.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ProgramState.cpp b/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
index af038c6f0f5..9ea8abd9521 100644
--- a/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
+++ b/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
@@ -658,13 +658,19 @@ const ProgramState* ProgramState::addTaint(const Stmt *S,
return addTaint(Sym, Kind);
const MemRegion *R = getSVal(S).getAsRegion();
- if (const SymbolicRegion *SR = dyn_cast_or_null<SymbolicRegion>(R))
- return addTaint(SR->getSymbol(), Kind);
+ addTaint(R, Kind);
// Cannot add taint, so just return the state.
return this;
}
+const ProgramState* ProgramState::addTaint(const MemRegion *R,
+ TaintTagType Kind) const {
+ if (const SymbolicRegion *SR = dyn_cast_or_null<SymbolicRegion>(R))
+ return addTaint(SR->getSymbol(), Kind);
+ return this;
+}
+
const ProgramState* ProgramState::addTaint(SymbolRef Sym,
TaintTagType Kind) const {
const ProgramState *NewState = set<TaintMap>(Sym, Kind);
OpenPOWER on IntegriCloud