From: Dale Johannesen Date: Tue, 2 Nov 2010 17:59:27 +0000 (+0000) Subject: Apply patch for use-after-free in InlineAsm constant handling, X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=1aabe1b49371f7e7a9898a3060653fcfa6ee497c;p=oota-llvm.git Apply patch for use-after-free in InlineAsm constant handling, PR 8522 / 8616046. Test reduction, analysis and patch by Tim Deegan! (However, review by someone who understands the classes here better is welcome. John Krum will return!) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118030 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/VMCore/InlineAsm.cpp b/lib/VMCore/InlineAsm.cpp index d951a29f43c..e4f99f09a5c 100644 --- a/lib/VMCore/InlineAsm.cpp +++ b/lib/VMCore/InlineAsm.cpp @@ -47,6 +47,7 @@ InlineAsm::InlineAsm(const PointerType *Ty, const std::string &asmString, } void InlineAsm::destroyConstant() { + getRawType()->getContext().pImpl->InlineAsms.remove(this); delete this; }