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 | a1c972df7de79c68dca2c12ba92d1018acd71c67 (patch) | |
tree | c178e8087430c973e62190cf8594b9d514f66c97 /lib/Analysis/DataStructure/CompleteBottomUp.cpp | |
parent | d15165723cbdb577c8acf8fcbfad6d2b16b70808 (diff) |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16813 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/DataStructure/CompleteBottomUp.cpp')
-rw-r--r-- | lib/Analysis/DataStructure/CompleteBottomUp.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Analysis/DataStructure/CompleteBottomUp.cpp b/lib/Analysis/DataStructure/CompleteBottomUp.cpp index ee111e9d8f..3cd2bb0eef 100644 --- a/lib/Analysis/DataStructure/CompleteBottomUp.cpp +++ b/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(); |