diff options
author | Chris Lattner <sabre@nondot.org> | 2004-10-07 20:01:31 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-10-07 20:01:31 +0000 |
commit | 3ae7bb6b7c9bd22d1c53cf7ddc28850821827522 (patch) | |
tree | bb9de4c58a021265ff7b506f703e6c5966faf6f3 /llvm/lib/Analysis/DataStructure/CompleteBottomUp.cpp | |
parent | b0b1cb2182a6c3b58162a26c848e089fb2e2cac1 (diff) | |
download | bcm5719-llvm-3ae7bb6b7c9bd22d1c53cf7ddc28850821827522.tar.gz bcm5719-llvm-3ae7bb6b7c9bd22d1c53cf7ddc28850821827522.zip |
Fix a nasty dangling pointer problem, due to a free'd pointer being left in
a map. This caused problems if a later object happened to be allocated at
the free'd object's address.
llvm-svn: 16813
Diffstat (limited to 'llvm/lib/Analysis/DataStructure/CompleteBottomUp.cpp')
-rw-r--r-- | llvm/lib/Analysis/DataStructure/CompleteBottomUp.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/DataStructure/CompleteBottomUp.cpp b/llvm/lib/Analysis/DataStructure/CompleteBottomUp.cpp index ee111e9d8fe..3cd2bb0eef5 100644 --- a/llvm/lib/Analysis/DataStructure/CompleteBottomUp.cpp +++ b/llvm/lib/Analysis/DataStructure/CompleteBottomUp.cpp @@ -157,6 +157,9 @@ unsigned CompleteBUDataStructures::calculateSCCGraphs(DSGraph &FG, for (DSGraph::ReturnNodesTy::iterator I = NG->getReturnNodes().begin(); I != NG->getReturnNodes().end(); ++I) DSInfo[I->first] = &FG; + + // Remove NG from the ValMap since the pointer may get recycled. + ValMap.erase(NG); delete NG; Stack.pop_back(); |