From a6112dd1dec2e61f961e8f9ad4a5ee489487b676 Mon Sep 17 00:00:00 2001 From: kokke Date: Tue, 14 Sep 2021 13:33:48 +0200 Subject: [PATCH] src: fix time-of-use vs time-of-check "bugs" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/node/pull/40128 PR-URL: https://github.com/nodejs/node/pull/40128 Reviewed-By: Anna Henningsen Reviewed-By: Michaƫl Zasso Reviewed-By: James M Snell --- src/crypto/crypto_context.cc | 2 +- src/udp_wrap.cc | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/crypto/crypto_context.cc b/src/crypto/crypto_context.cc index c4f759c31d18cc..d389c4bf77bc33 100644 --- a/src/crypto/crypto_context.cc +++ b/src/crypto/crypto_context.cc @@ -1114,7 +1114,7 @@ int SecureContext::TicketKeyCallback(SSL* ssl, return -1; } - argv[2] = env != 0 ? v8::True(env->isolate()) : v8::False(env->isolate()); + argv[2] = v8::True(env->isolate()); Local ret; if (!node::MakeCallback( diff --git a/src/udp_wrap.cc b/src/udp_wrap.cc index 10c92358cc7661..f068995e9b068f 100644 --- a/src/udp_wrap.cc +++ b/src/udp_wrap.cc @@ -371,13 +371,17 @@ void UDPWrap::Disconnect(const FunctionCallbackInfo& args) { #define X(name, fn) \ void UDPWrap::name(const FunctionCallbackInfo& args) { \ UDPWrap* wrap = Unwrap(args.Holder()); \ + if (wrap == nullptr) { \ + args.GetReturnValue().Set(UV_EBADF); \ + return; \ + } \ Environment* env = wrap->env(); \ CHECK_EQ(args.Length(), 1); \ int flag; \ if (!args[0]->Int32Value(env->context()).To(&flag)) { \ return; \ } \ - int err = wrap == nullptr ? UV_EBADF : fn(&wrap->handle_, flag); \ + int err = fn(&wrap->handle_, flag); \ args.GetReturnValue().Set(err); \ }