From: Richard Trieu Date: Tue, 30 Aug 2016 21:12:48 +0000 (+0000) Subject: Fix memory leak by storing returned pointer in std::unique_ptr X-Git-Tag: llvmorg-4.0.0-rc1~11077 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=070937a1d47b76cbf4fcacee25efd86c9d3ffd4c;p=platform%2Fupstream%2Fllvm.git Fix memory leak by storing returned pointer in std::unique_ptr llvm-svn: 280157 --- diff --git a/clang/lib/Tooling/Tooling.cpp b/clang/lib/Tooling/Tooling.cpp index 162a491..529c47e 100644 --- a/clang/lib/Tooling/Tooling.cpp +++ b/clang/lib/Tooling/Tooling.cpp @@ -244,10 +244,9 @@ bool ToolInvocation::run() { const char *const BinaryName = Argv[0]; IntrusiveRefCntPtr DiagOpts = new DiagnosticOptions(); unsigned MissingArgIndex, MissingArgCount; - llvm::opt::InputArgList ParsedArgs = - driver::createDriverOptTable()->ParseArgs( - ArrayRef(Argv).slice(1), MissingArgIndex, - MissingArgCount); + std::unique_ptr Opts(driver::createDriverOptTable()); + llvm::opt::InputArgList ParsedArgs = Opts->ParseArgs( + ArrayRef(Argv).slice(1), MissingArgIndex, MissingArgCount); ParseDiagnosticArgs(*DiagOpts, ParsedArgs); TextDiagnosticPrinter DiagnosticPrinter( llvm::errs(), &*DiagOpts);