From 24b887a63e729927f1673d562795814b3a83b2a9 Mon Sep 17 00:00:00 2001 From: Daeyeon Jeong Date: Mon, 29 Sep 2025 19:13:10 +0900 Subject: [PATCH] fix: reset the internal field at close and destroy Signed-off-by: Daeyeon Jeong --- deps/node/src/node_crypto.cc | 3 +++ deps/node/src/tls_wrap.cc | 3 +++ 2 files changed, 6 insertions(+) diff --git a/deps/node/src/node_crypto.cc b/deps/node/src/node_crypto.cc index 4c18c23506..805b3f0da1 100644 --- a/deps/node/src/node_crypto.cc +++ b/deps/node/src/node_crypto.cc @@ -1384,6 +1384,9 @@ void SecureContext::Close(const FunctionCallbackInfo& args) { SecureContext* sc; ASSIGN_OR_RETURN_UNWRAP(&sc, args.Holder()); // sc->Reset(); // @lwnode + + Local object = sc->object(); + object->SetAlignedPointerInInternalField(BaseObject::kSlot, nullptr); delete sc; // @lwnode } diff --git a/deps/node/src/tls_wrap.cc b/deps/node/src/tls_wrap.cc index b1a3d044ce..b984a32aaa 100644 --- a/deps/node/src/tls_wrap.cc +++ b/deps/node/src/tls_wrap.cc @@ -1011,6 +1011,9 @@ void TLSWrap::DestroySSL(const FunctionCallbackInfo& args) { wrap->stream_->RemoveStreamListener(wrap); Debug(wrap, "DestroySSL() finished"); + // @lwnode + Local object = wrap->object(); + object->SetAlignedPointerInInternalField(BaseObject::kSlot, nullptr); delete wrap; }