From b2be6799f2be7fa103ef61cbe2a053973d008a5d Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Mon, 10 Oct 2005 18:28:05 +0000
Subject: [PATCH] pass a NULL pointer in the service argument (the second) if
 the port number was 0 as it seems at least some AIX versions don't like a "0"
 string there

---
 lib/hostip6.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/hostip6.c b/lib/hostip6.c
index be86a51368..aa25de3e9f 100644
--- a/lib/hostip6.c
+++ b/lib/hostip6.c
@@ -202,6 +202,7 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
   struct addrinfo hints, *res;
   int error;
   char sbuf[NI_MAXSERV];
+  char *sbufptr = NULL;
   char addrbuf[128];
   curl_socket_t s;
   int pf;
@@ -255,8 +256,11 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
   hints.ai_socktype = conn->socktype;
 
   hints.ai_flags = ai_flags;
-  snprintf(sbuf, sizeof(sbuf), "%d", port);
-  error = getaddrinfo(hostname, sbuf, &hints, &res);
+  if(port) {
+    snprintf(sbuf, sizeof(sbuf), "%d", port);
+    sbufptr=sbuf;
+  }
+  error = getaddrinfo(hostname, sbufptr, &hints, &res);
   if (error) {
     infof(data, "getaddrinfo(3) failed for %s:%d\n", hostname, port);
     return NULL;
-- 
GitLab