@@ -567,9 +567,14 @@ void SlowCopy(const FunctionCallbackInfo<Value>& args) {
567
567
ArrayBufferViewContents<char > source (args[0 ]);
568
568
SPREAD_BUFFER_ARG (args[1 ].As <Object>(), target);
569
569
570
- const auto target_start = args[2 ]->Uint32Value (env->context ()).ToChecked ();
571
- const auto source_start = args[3 ]->Uint32Value (env->context ()).ToChecked ();
572
- const auto to_copy = args[4 ]->Uint32Value (env->context ()).ToChecked ();
570
+ uint32_t target_start;
571
+ uint32_t source_start;
572
+ uint32_t to_copy;
573
+ if (!args[2 ]->Uint32Value (env->context ()).To (&target_start) ||
574
+ !args[3 ]->Uint32Value (env->context ()).To (&source_start) ||
575
+ !args[4 ]->Uint32Value (env->context ()).To (&to_copy)) {
576
+ return ;
577
+ }
573
578
574
579
memmove (target_data + target_start, source.data () + source_start, to_copy);
575
580
args.GetReturnValue ().Set (to_copy);
@@ -634,7 +639,9 @@ void Fill(const FunctionCallbackInfo<Value>& args) {
634
639
return ;
635
640
}
636
641
637
- str_obj = args[1 ]->ToString (env->context ()).ToLocalChecked ();
642
+ if (!args[1 ]->ToString (env->context ()).ToLocal (&str_obj)) {
643
+ return ;
644
+ }
638
645
enc = ParseEncoding (env->isolate (), args[4 ], UTF8);
639
646
640
647
// Can't use StringBytes::Write() in all cases. For example if attempting
@@ -697,7 +704,10 @@ void StringWrite(const FunctionCallbackInfo<Value>& args) {
697
704
698
705
THROW_AND_RETURN_IF_NOT_STRING (env, args[0 ], " argument" );
699
706
700
- Local<String> str = args[0 ]->ToString (env->context ()).ToLocalChecked ();
707
+ Local<String> str;
708
+ if (!args[0 ]->ToString (env->context ()).ToLocal (&str)) {
709
+ return ;
710
+ }
701
711
702
712
size_t offset = 0 ;
703
713
size_t max_length = 0 ;
@@ -1238,10 +1248,12 @@ void GetZeroFillToggle(const FunctionCallbackInfo<Value>& args) {
1238
1248
ab = ArrayBuffer::New (env->isolate (), std::move (backing));
1239
1249
}
1240
1250
1241
- ab->SetPrivate (
1242
- env->context (),
1243
- env->untransferable_object_private_symbol (),
1244
- True (env->isolate ())).Check ();
1251
+ if (ab->SetPrivate (env->context (),
1252
+ env->untransferable_object_private_symbol (),
1253
+ True (env->isolate ()))
1254
+ .IsNothing ()) {
1255
+ return ;
1256
+ }
1245
1257
1246
1258
args.GetReturnValue ().Set (Uint32Array::New (ab, 0 , 1 ));
1247
1259
}
@@ -1252,7 +1264,9 @@ void DetachArrayBuffer(const FunctionCallbackInfo<Value>& args) {
1252
1264
Local<ArrayBuffer> buf = args[0 ].As <ArrayBuffer>();
1253
1265
if (buf->IsDetachable ()) {
1254
1266
std::shared_ptr<BackingStore> store = buf->GetBackingStore ();
1255
- buf->Detach (Local<Value>()).Check ();
1267
+ if (buf->Detach (Local<Value>()).IsNothing ()) {
1268
+ return ;
1269
+ }
1256
1270
args.GetReturnValue ().Set (ArrayBuffer::New (env->isolate (), store));
1257
1271
}
1258
1272
}
@@ -1461,7 +1475,10 @@ void SlowWriteString(const FunctionCallbackInfo<Value>& args) {
1461
1475
1462
1476
THROW_AND_RETURN_IF_NOT_STRING (env, args[1 ], " argument" );
1463
1477
1464
- Local<String> str = args[1 ]->ToString (env->context ()).ToLocalChecked ();
1478
+ Local<String> str;
1479
+ if (!args[1 ]->ToString (env->context ()).ToLocal (&str)) {
1480
+ return ;
1481
+ }
1465
1482
1466
1483
size_t offset = 0 ;
1467
1484
size_t max_length = 0 ;
0 commit comments