@@ -390,8 +390,9 @@ MaybeLocal<Object> AddressToJS(Environment* env,
390
390
391
391
int port;
392
392
393
- if (info.IsEmpty ())
393
+ if (info.IsEmpty ()) {
394
394
info = Object::New (env->isolate ());
395
+ }
395
396
396
397
switch (addr->sa_family ) {
397
398
case AF_INET6:
@@ -413,32 +414,45 @@ MaybeLocal<Object> AddressToJS(Environment* env,
413
414
}
414
415
}
415
416
port = ntohs (a6->sin6_port );
416
- info->Set (env->context (),
417
- env->address_string (),
418
- OneByteString (env->isolate (), ip)).Check ();
419
- info->Set (env->context (), env->family_string (), env->ipv6_string ()).Check ();
420
- info->Set (env->context (),
421
- env->port_string (),
422
- Integer::New (env->isolate (), port)).Check ();
417
+ if (info->Set (env->context (),
418
+ env->address_string (),
419
+ OneByteString (env->isolate (), ip))
420
+ .IsNothing () ||
421
+ info->Set (env->context (), env->family_string (), env->ipv6_string ())
422
+ .IsNothing () ||
423
+ info->Set (env->context (),
424
+ env->port_string (),
425
+ Integer::New (env->isolate (), port))
426
+ .IsNothing ()) {
427
+ return {};
428
+ }
423
429
break ;
424
430
425
431
case AF_INET:
426
432
a4 = reinterpret_cast <const sockaddr_in*>(addr);
427
433
uv_inet_ntop (AF_INET, &a4->sin_addr , ip, sizeof ip);
428
434
port = ntohs (a4->sin_port );
429
- info->Set (env->context (),
430
- env->address_string (),
431
- OneByteString (env->isolate (), ip)).Check ();
432
- info->Set (env->context (), env->family_string (), env->ipv4_string ()).Check ();
433
- info->Set (env->context (),
434
- env->port_string (),
435
- Integer::New (env->isolate (), port)).Check ();
435
+ if (info->Set (env->context (),
436
+ env->address_string (),
437
+ OneByteString (env->isolate (), ip))
438
+ .IsNothing () ||
439
+ info->Set (env->context (), env->family_string (), env->ipv4_string ())
440
+ .IsNothing () ||
441
+ info->Set (env->context (),
442
+ env->port_string (),
443
+ Integer::New (env->isolate (), port))
444
+ .IsNothing ()) {
445
+ return {};
446
+ }
436
447
break ;
437
448
438
449
default :
439
- info->Set (env->context (),
440
- env->address_string (),
441
- String::Empty (env->isolate ())).Check ();
450
+ if (info->Set (env->context (),
451
+ env->address_string (),
452
+ String::Empty (env->isolate ()))
453
+ .IsNothing ()) {
454
+ return {};
455
+ }
442
456
}
443
457
444
458
return scope.Escape (info);
0 commit comments