@@ -390,8 +390,9 @@ MaybeLocal<Object> AddressToJS(Environment* env,
390390
391391 int port;
392392
393- if (info.IsEmpty ())
393+ if (info.IsEmpty ()) {
394394 info = Object::New (env->isolate ());
395+ }
395396
396397 switch (addr->sa_family ) {
397398 case AF_INET6:
@@ -413,32 +414,45 @@ MaybeLocal<Object> AddressToJS(Environment* env,
413414 }
414415 }
415416 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+ }
423429 break ;
424430
425431 case AF_INET:
426432 a4 = reinterpret_cast <const sockaddr_in*>(addr);
427433 uv_inet_ntop (AF_INET, &a4->sin_addr , ip, sizeof ip);
428434 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+ }
436447 break ;
437448
438449 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+ }
442456 }
443457
444458 return scope.Escape (info);
0 commit comments