[asan] Stop leaking X86Operands.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 9 May 2014 09:48:03 +0000 (09:48 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 9 May 2014 09:48:03 +0000 (09:48 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208400 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp

index 303bbf249b51bb269bfebe92340d1eaf9ecc662e..85c7bf00972640f9b049a90176cbfe477e373193 100644 (file)
@@ -192,8 +192,8 @@ void X86AddressSanitizer64::InstrumentMemOperandImpl(X86Operand *Op,
     Inst.addOperand(MCOperand::CreateReg(X86::RSP));
 
     const MCExpr *Disp = MCConstantExpr::Create(-128, Ctx);
-    X86Operand *Op =
-        X86Operand::CreateMem(0, Disp, X86::RSP, 0, 1, SMLoc(), SMLoc());
+    std::unique_ptr<X86Operand> Op(
+        X86Operand::CreateMem(0, Disp, X86::RSP, 0, 1, SMLoc(), SMLoc()));
     Op->addMemOperands(Inst, 5);
     EmitInstruction(Out, Inst);
   }
@@ -221,8 +221,8 @@ void X86AddressSanitizer64::InstrumentMemOperandImpl(X86Operand *Op,
     Inst.addOperand(MCOperand::CreateReg(X86::RSP));
 
     const MCExpr *Disp = MCConstantExpr::Create(128, Ctx);
-    X86Operand *Op =
-        X86Operand::CreateMem(0, Disp, X86::RSP, 0, 1, SMLoc(), SMLoc());
+    std::unique_ptr<X86Operand> Op(
+        X86Operand::CreateMem(0, Disp, X86::RSP, 0, 1, SMLoc(), SMLoc()));
     Op->addMemOperands(Inst, 5);
     EmitInstruction(Out, Inst);
   }