[llvm-dev] suggested bug fix in RTDyldObjectLinkingLayer
Geoff Levner via llvm-dev
llvm-dev at lists.llvm.org
Tue Sep 18 01:36:12 PDT 2018
In certain circumstances, RTDyldObjectLinkingLayer dereferences a null
pointer. Specifically, that happens if you add a linking object which,
for some reason, is never finalized, and you specify a function to be
called when objects are freed. Admittedly, that must not happen very
often, but it can happen in our application, causing it to crash.
Might I suggest the following patch?
Geoff
--- RTDyldObjectLinkingLayer.h (revision 342448)
+++ RTDyldObjectLinkingLayer.h (working copy)
@@ -175,7 +175,7 @@
}
~ConcreteLinkedObject() override {
- if (this->Parent.NotifyFreed)
+ if (this->Parent.NotifyFreed && ObjForNotify.getBinary())
this->Parent.NotifyFreed(K, *ObjForNotify.getBinary());
MemMgr->deregisterEHFrames();
More information about the llvm-dev
mailing list