<div dir="ltr">Thanks Sanjoy!<div><br></div><div>-- Lang.</div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jan 10, 2019 at 12:16 PM Sanjoy Das via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">This revision was automatically updated to reflect the committed changes.<br>
Closed by commit rL350886: Avoid use-after-free in ~LegacyRTDyldObjectLinkingLayer (authored by sanjoy, committed by ).<br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
CHANGES SINCE LAST ACTION<br>
  <a href="https://reviews.llvm.org/D56521/new/" rel="noreferrer" target="_blank">https://reviews.llvm.org/D56521/new/</a><br>
<br>
<a href="https://reviews.llvm.org/D56521" rel="noreferrer" target="_blank">https://reviews.llvm.org/D56521</a><br>
<br>
Files:<br>
  llvm/trunk/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h<br>
<br>
<br>
Index: llvm/trunk/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h<br>
===================================================================<br>
--- llvm/trunk/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h<br>
+++ llvm/trunk/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h<br>
@@ -443,11 +443,14 @@<br>
 private:<br>
   ExecutionSession &ES;<br>
<br>
-  std::map<VModuleKey, std::unique_ptr<LinkedObject>> LinkedObjects;<br>
   ResourcesGetter GetResources;<br>
   NotifyLoadedFtor NotifyLoaded;<br>
   NotifyFinalizedFtor NotifyFinalized;<br>
   NotifyFreedFtor NotifyFreed;<br>
+<br>
+  // NB!  `LinkedObjects` needs to be destroyed before `NotifyFreed` because<br>
+  // `~ConcreteLinkedObject` calls `NotifyFreed`<br>
+  std::map<VModuleKey, std::unique_ptr<LinkedObject>> LinkedObjects;<br>
   bool ProcessAllSections = false;<br>
 };<br>
<br>
<br>
<br>
</blockquote></div>