diff --git a/ext/socket/ipsocket.c b/ext/socket/ipsocket.c index efaca265d5..60776c16a2 100644 --- a/ext/socket/ipsocket.c +++ b/ext/socket/ipsocket.c @@ -593,7 +593,7 @@ init_fast_fallback_inetsock_internal(VALUE v) arg->getaddrinfo_shared->notify = hostname_resolution_notifier; arg->getaddrinfo_shared->node = arg->hostp ? ruby_strdup(arg->hostp) : NULL; - arg->getaddrinfo_shared->service = ruby_strdup(arg->portp); + arg->getaddrinfo_shared->service = arg->portp ? ruby_strdup(arg->portp) : NULL; arg->getaddrinfo_shared->refcount = arg->family_size + 1; for (int i = 0; i < arg->family_size; i++) {