@@ -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