summaryrefslogtreecommitdiff
path: root/src/base_object-inl.h
diff options
context:
space:
mode:
authorDaniel Bevenius <daniel.bevenius@gmail.com>2018-09-27 08:36:01 +0200
committerDaniel Bevenius <daniel.bevenius@gmail.com>2018-10-01 08:10:07 +0200
commit7ac109df10eb8d31bb7503b031ff85a14bb5ec84 (patch)
treece25a9b98b668efeaf77251fdc5bf212c7e8571c /src/base_object-inl.h
parent1be804d625e6904f053b09b9066ba32e0f48fa99 (diff)
downloadandroid-node-v8-7ac109df10eb8d31bb7503b031ff85a14bb5ec84.tar.gz
android-node-v8-7ac109df10eb8d31bb7503b031ff85a14bb5ec84.tar.bz2
android-node-v8-7ac109df10eb8d31bb7503b031ff85a14bb5ec84.zip
src: use unique_ptr for obj in SetWeak lambda
PR-URL: https://github.com/nodejs/node/pull/23117 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'src/base_object-inl.h')
-rw-r--r--src/base_object-inl.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/base_object-inl.h b/src/base_object-inl.h
index d067a807cb..8c8fa1699c 100644
--- a/src/base_object-inl.h
+++ b/src/base_object-inl.h
@@ -95,13 +95,12 @@ void BaseObject::MakeWeak() {
persistent_handle_.SetWeak(
this,
[](const v8::WeakCallbackInfo<BaseObject>& data) {
- BaseObject* obj = data.GetParameter();
+ std::unique_ptr<BaseObject> obj(data.GetParameter());
// Clear the persistent handle so that ~BaseObject() doesn't attempt
// to mess with internal fields, since the JS object may have
// transitioned into an invalid state.
// Refs: https://github.com/nodejs/node/issues/18897
obj->persistent_handle_.Reset();
- delete obj;
}, v8::WeakCallbackType::kParameter);
}