@@ -266,20 +266,22 @@ ParseKeyResult ParsePrivateKey(EVPKeyPointer* pkey,
266266 return ParseKeyResult::kParseKeyFailed ;
267267}
268268
269- Local<Value> BIOToStringOrBuffer (Environment* env,
270- BIO* bio,
271- PKFormatType format) {
269+ MaybeLocal<Value> BIOToStringOrBuffer (
270+ Environment* env,
271+ BIO* bio,
272+ PKFormatType format) {
272273 BUF_MEM* bptr;
273274 BIO_get_mem_ptr (bio, &bptr);
274275 if (format == kKeyFormatPEM ) {
275276 // PEM is an ASCII format, so we will return it as a string.
276277 return String::NewFromUtf8 (env->isolate (), bptr->data ,
277278 NewStringType::kNormal ,
278- bptr->length ).ToLocalChecked ( );
279+ bptr->length ).FromMaybe (Local<Value>() );
279280 } else {
280281 CHECK_EQ (format, kKeyFormatDER );
281282 // DER is binary, return it as a buffer.
282- return Buffer::Copy (env, bptr->data , bptr->length ).ToLocalChecked ();
283+ return Buffer::Copy (env, bptr->data , bptr->length )
284+ .FromMaybe (Local<Value>());
283285 }
284286}
285287
@@ -1108,13 +1110,13 @@ void KeyObjectHandle::Export(const FunctionCallbackInfo<Value>& args) {
11081110 }
11091111
11101112 if (!result.IsEmpty ())
1111- args.GetReturnValue ().Set (result.ToLocalChecked ( ));
1113+ args.GetReturnValue ().Set (result.FromMaybe (Local<Value>() ));
11121114}
11131115
1114- Local <Value> KeyObjectHandle::ExportSecretKey () const {
1116+ MaybeLocal <Value> KeyObjectHandle::ExportSecretKey () const {
11151117 const char * buf = data_->GetSymmetricKey ();
11161118 unsigned int len = data_->GetSymmetricKeySize ();
1117- return Buffer::Copy (env (), buf, len).ToLocalChecked ( );
1119+ return Buffer::Copy (env (), buf, len).FromMaybe (Local<Value>() );
11181120}
11191121
11201122MaybeLocal<Value> KeyObjectHandle::ExportPublicKey (
@@ -1183,7 +1185,9 @@ void NativeKeyObject::CreateNativeKeyObjectClass(
11831185 KeyObjectHandle::kInternalFieldCount );
11841186 t->Inherit (BaseObject::GetConstructorTemplate (env));
11851187
1186- Local<Value> ctor = t->GetFunction (env->context ()).ToLocalChecked ();
1188+ Local<Value> ctor;
1189+ if (!t->GetFunction (env->context ()).ToLocal (&ctor))
1190+ return ;
11871191
11881192 Local<Value> recv = Undefined (env->isolate ());
11891193 Local<Value> ret_v;
@@ -1210,7 +1214,10 @@ BaseObjectPtr<BaseObject> NativeKeyObject::KeyObjectTransferData::Deserialize(
12101214 return {};
12111215 }
12121216
1213- Local<Value> handle = KeyObjectHandle::Create (env, data_).ToLocalChecked ();
1217+ Local<Value> handle;
1218+ if (!KeyObjectHandle::Create (env, data_).ToLocal (&handle))
1219+ return {};
1220+
12141221 Local<Function> key_ctor;
12151222 Local<Value> arg = FIXED_ONE_BYTE_STRING (env->isolate (),
12161223 " internal/crypto/keys" );
@@ -1232,8 +1239,10 @@ BaseObjectPtr<BaseObject> NativeKeyObject::KeyObjectTransferData::Deserialize(
12321239 CHECK (false );
12331240 }
12341241
1235- Local<Value> key =
1236- key_ctor->NewInstance (context, 1 , &handle).ToLocalChecked ();
1242+ Local<Value> key;
1243+ if (!key_ctor->NewInstance (context, 1 , &handle).ToLocal (&key))
1244+ return {};
1245+
12371246 return BaseObjectPtr<BaseObject>(Unwrap<KeyObjectHandle>(key.As <Object>()));
12381247}
12391248
0 commit comments