From 7fc751d1d30a2f2d1e0a09d94e23521935b11ed1 Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Sat, 26 Aug 2023 20:42:58 +0200 Subject: [PATCH] src: do not rely on the internal field being default to undefined It's an undocumented V8 behavior that is subject to change. Instead just check if the internal field is set to a promise. There is also no need to check IsEmpty() since the object is guaranteed to be constructed by the FileHandle constructor with enough internal fields. --- src/node_file.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/node_file.cc b/src/node_file.cc index a38bc2afce5a44..b629d936e883fe 100644 --- a/src/node_file.cc +++ b/src/node_file.cc @@ -457,8 +457,7 @@ MaybeLocal FileHandle::ClosePromise() { Local close_resolver = object()->GetInternalField(FileHandle::kClosingPromiseSlot).As(); - if (!close_resolver.IsEmpty() && !close_resolver->IsUndefined()) { - CHECK(close_resolver->IsPromise()); + if (close_resolver->IsPromise()) { return close_resolver.As(); }