diff options
author | Torok Edwin <edwintorok@gmail.com> | 2009-08-31 16:12:29 +0000 |
---|---|---|
committer | Torok Edwin <edwintorok@gmail.com> | 2009-08-31 16:12:29 +0000 |
commit | 72ddf7b555a5a32c6f2330f9733bb8d036f971eb (patch) | |
tree | a79562877900ae7b2939d074e4748716dd9003db /lib/System/DynamicLibrary.cpp | |
parent | b4f770b68a2f1890e17f634b695d19bb7d07168d (diff) |
Fix ExplicitSymbols leak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80589 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/System/DynamicLibrary.cpp')
-rw-r--r-- | lib/System/DynamicLibrary.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/System/DynamicLibrary.cpp b/lib/System/DynamicLibrary.cpp index 669422c842..6efab948fa 100644 --- a/lib/System/DynamicLibrary.cpp +++ b/lib/System/DynamicLibrary.cpp @@ -25,6 +25,13 @@ // Collection of symbol name/value pairs to be searched prior to any libraries. static std::map<std::string, void*> *ExplicitSymbols = 0; +static struct ExplicitSymbolsDeleter { + ~ExplicitSymbolsDeleter() { + if (ExplicitSymbols) + delete ExplicitSymbols; + } +} Dummy; + void llvm::sys::DynamicLibrary::AddSymbol(const char* symbolName, void *symbolValue) { if (ExplicitSymbols == 0) |