llvm-project/llvm/tools/lli
David Blaikie 7a1e775a7e PR19553: Memory leak in RuntimeDyldELF::createObjectImageFromFile
This starts in MCJIT::getSymbolAddress where the
unique_ptr<object::Binary> is release()d and (after a cast) passed to a
single caller, MCJIT::addObjectFile.

addObjectFile calls RuntimeDyld::loadObject.
RuntimeDld::loadObject calls RuntimeDyldELF::createObjectFromFile

And the pointer is never owned at this point. I say this point, because
the alternative codepath, RuntimeDyldMachO::createObjectFile certainly
does take ownership, so this seemed like a good hint that this was a/the
right place to take ownership.

llvm-svn: 207580
2014-04-29 21:52:46 +00:00
..
ChildTarget [cleanup] Re-sort all the includes with utils/sort_includes.py. 2014-03-04 10:07:28 +00:00
Unix [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
Windows Report lli remote IO errors consistently 2014-01-24 17:18:52 +00:00
CMakeLists.txt [CMake] Update LLVM_LINK_COMPONENTS for each CMakeLists.txt. 2013-12-10 11:13:32 +00:00
LLVMBuild.txt Fixing lli-child-target build 2013-10-02 22:27:23 +00:00
Makefile Adding out-of-process execution support to lli. 2013-10-02 17:12:36 +00:00
RPCChannel.h Report lli remote IO errors consistently 2014-01-24 17:18:52 +00:00
RemoteMemoryManager.cpp [C++] Use 'nullptr'. Tools edition. 2014-04-25 04:24:47 +00:00
RemoteMemoryManager.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
RemoteTarget.cpp [C++] Use 'nullptr'. Tools edition. 2014-04-25 04:24:47 +00:00
RemoteTarget.h Fix known typos 2014-01-24 17:20:08 +00:00
RemoteTargetExternal.cpp [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
RemoteTargetExternal.h [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 08:27:28 +00:00
RemoteTargetMessage.h Sanitize MCJIT remote execution 2014-01-14 22:43:43 +00:00
lli.cpp PR19553: Memory leak in RuntimeDyldELF::createObjectImageFromFile 2014-04-29 21:52:46 +00:00