From 3c418d96292d6104a4f31bca998d173e27c26b77 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Tue, 9 Jul 2019 18:21:03 -0400 Subject: [PATCH] src: manage MakeContext() pointer with unique_ptr PR-URL: https://github.com/nodejs/node/pull/28616 Refs: https://github.com/nodejs/node/pull/28452 Reviewed-By: Anna Henningsen Reviewed-By: Rich Trott --- src/node_contextify.cc | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/node_contextify.cc b/src/node_contextify.cc index a13eed9d0ffdeb..c6b9dc18de9bd0 100644 --- a/src/node_contextify.cc +++ b/src/node_contextify.cc @@ -255,24 +255,21 @@ void ContextifyContext::MakeContext(const FunctionCallbackInfo& args) { options.allow_code_gen_wasm = args[4].As(); TryCatchScope try_catch(env); - ContextifyContext* context = new ContextifyContext(env, sandbox, options); + auto context_ptr = std::make_unique(env, sandbox, options); if (try_catch.HasCaught()) { if (!try_catch.HasTerminated()) try_catch.ReThrow(); - delete context; return; } - if (context->context().IsEmpty()) { - delete context; + if (context_ptr->context().IsEmpty()) return; - } sandbox->SetPrivate( env->context(), env->contextify_context_private_symbol(), - External::New(env->isolate(), context)); + External::New(env->isolate(), context_ptr.release())); }