From 4284190cc417dccd975a5df158384eec1c9cd272 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Mon, 3 Oct 2005 10:12:06 +0000
Subject: [PATCH] Ok, based on the online docs for AIX'es getservbyport_r() I
 adjusted to code to do (what I believe is) "right". See docs on:
 http://publib.boulder.ibm.com/infocenter/pseries/index.jsp?topic=/com.ibm.aix.doc/libs/commtrf2/getservbyport_r.htm

---
 ares/ares_getnameinfo.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ares/ares_getnameinfo.c b/ares/ares_getnameinfo.c
index ac54f13fa0..236d82bd0f 100644
--- a/ares/ares_getnameinfo.c
+++ b/ares/ares_getnameinfo.c
@@ -269,6 +269,7 @@ static char *lookup_service(unsigned short port, int flags,
           char buf[4096];
           int len = 4096;
 #elif GETSERVBYPORT_R_ARGS == 4
+          struct servent ret;
           struct servent_data sed;
 #endif
           if (flags & ARES_NI_UDP)
@@ -287,7 +288,7 @@ static char *lookup_service(unsigned short port, int flags,
 #elif GETSERVBYPORT_R_ARGS == 5
           se = getservbyport_r(port, proto, se, buf, len);
 #elif GETSERVBYPORT_R_ARGS == 4
-          se = &sed;
+          se = &ret;
           if (getservbyport_r(port, proto, se, &sed) == -1)
             se = NULL;
 #else
-- 
GitLab