From 64f646269abc66826672df17f28c9cb8989fe2e0 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Tue, 6 Mar 2018 11:53:15 +0100 Subject: [PATCH] src: use smart pointer in AsyncWrap::WeakCallback PR-URL: https://github.com/nodejs/node/pull/19168 Reviewed-By: Anna Henningsen Reviewed-By: Colin Ihrig Reviewed-By: James M Snell Reviewed-By: Joyee Cheung --- src/async_wrap.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/async_wrap.cc b/src/async_wrap.cc index cd9f26d7782d46..63098e5c7b5b89 100644 --- a/src/async_wrap.cc +++ b/src/async_wrap.cc @@ -419,14 +419,14 @@ void AsyncWrap::WeakCallback(const v8::WeakCallbackInfo& info) { HandleScope scope(info.GetIsolate()); Environment* env = Environment::GetCurrent(info.GetIsolate()); - DestroyParam* p = info.GetParameter(); + std::unique_ptr p{info.GetParameter()}; Local prop_bag = PersistentToLocal(info.GetIsolate(), p->propBag); Local val = prop_bag->Get(env->destroyed_string()); if (val->IsFalse()) { AsyncWrap::EmitDestroy(env, p->asyncId); } - delete p; + // unique_ptr goes out of scope here and pointer is deleted. }