Skip to content

Commit 2a93882

Browse files
cjihrigBridgeAR
authored andcommitted
src: fix Get() usage in tls_wrap.cc
PR-URL: #24060 Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
1 parent 9437aaa commit 2a93882

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

src/tls_wrap.cc

+13-5
Original file line numberDiff line numberDiff line change
@@ -213,17 +213,22 @@ void TLSWrap::SSLInfoCallback(const SSL* ssl_, int where, int ret) {
213213
Local<Object> object = c->object();
214214

215215
if (where & SSL_CB_HANDSHAKE_START) {
216-
Local<Value> callback = object->Get(env->onhandshakestart_string());
217-
if (callback->IsFunction()) {
216+
Local<Value> callback;
217+
218+
if (object->Get(env->context(), env->onhandshakestart_string())
219+
.ToLocal(&callback) && callback->IsFunction()) {
218220
Local<Value> argv[] = { env->GetNow() };
219221
c->MakeCallback(callback.As<Function>(), arraysize(argv), argv);
220222
}
221223
}
222224

223225
if (where & SSL_CB_HANDSHAKE_DONE) {
226+
Local<Value> callback;
227+
224228
c->established_ = true;
225-
Local<Value> callback = object->Get(env->onhandshakedone_string());
226-
if (callback->IsFunction()) {
229+
230+
if (object->Get(env->context(), env->onhandshakedone_string())
231+
.ToLocal(&callback) && callback->IsFunction()) {
227232
c->MakeCallback(callback.As<Function>(), 0, nullptr);
228233
}
229234
}
@@ -814,7 +819,10 @@ int TLSWrap::SelectSNIContextCallback(SSL* s, int* ad, void* arg) {
814819

815820
// Call the SNI callback and use its return value as context
816821
Local<Object> object = p->object();
817-
Local<Value> ctx = object->Get(env->sni_context_string());
822+
Local<Value> ctx;
823+
824+
if (!object->Get(env->context(), env->sni_context_string()).ToLocal(&ctx))
825+
return SSL_TLSEXT_ERR_NOACK;
818826

819827
// Not an object, probably undefined or null
820828
if (!ctx->IsObject())

0 commit comments

Comments
 (0)