diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-01-16 22:13:19 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-01-16 22:13:19 +0000 |
commit | 160760e6326cf525bc48adf7fa1d414a049ba1f0 (patch) | |
tree | 948873875d920384b91ba6d63d2c6aa90f0e478e | |
parent | aa66a32ba177338763cd0cf9df8310dfa2e24ff7 (diff) |
Fixed iterator bug in ExplodedNodeImpl::NodeGroup::end(); we would improperly
handle the case where the number of nodes was 0.
Fixed bug in GREngineImpl where we did not proceed to the next statement
when processing a PostStmt location.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46093 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | Analysis/ExplodedGraph.cpp | 2 | ||||
-rw-r--r-- | Analysis/GREngine.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/Analysis/ExplodedGraph.cpp b/Analysis/ExplodedGraph.cpp index 35e9d9de9a..1cfb02c787 100644 --- a/Analysis/ExplodedGraph.cpp +++ b/Analysis/ExplodedGraph.cpp @@ -60,7 +60,7 @@ ExplodedNodeImpl** ExplodedNodeImpl::NodeGroup::begin() const { ExplodedNodeImpl** ExplodedNodeImpl::NodeGroup::end() const { if (getKind() == Size1) - return ((ExplodedNodeImpl**) &P)+1; + return (ExplodedNodeImpl**) (P ? &P+1 : &P); else return const_cast<ExplodedNodeImpl**>(&*(getVector(getPtr()).rbegin())+1); } diff --git a/Analysis/GREngine.cpp b/Analysis/GREngine.cpp index 42951fc24f..f0c59cf93a 100644 --- a/Analysis/GREngine.cpp +++ b/Analysis/GREngine.cpp @@ -167,7 +167,7 @@ void GREngineImpl::HandlePostStmt(const PostStmt& L, CFGBlock* B, HandleBlockExit(B, Pred); else { GRNodeBuilderImpl Builder(B, StmtIdx, Pred, this); - ProcessStmt(L.getStmt(), Builder); + ProcessStmt((*B)[StmtIdx], Builder); } } |