Skip to content

Commit 039b388

Browse files
committed
nameserv: avoid sockaddr_in6 with disabled IPv6 support
Fixes: 10c760a ("nameserv: require getaddrinfo() and getnameinfo()")
1 parent 3f6528d commit 039b388

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

nameserv.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,16 +130,20 @@ int
130130
DNS_IPAddress2Name(IPAddr *ip_addr, char *name, int len)
131131
{
132132
char *result = NULL;
133-
struct sockaddr_in6 in6;
133+
#ifdef FEAT_IPV6
134+
struct sockaddr_in6 saddr;
135+
#else
136+
struct sockaddr_in saddr;
137+
#endif
134138
IPSockAddr ip_saddr;
135139
socklen_t slen;
136140
char hbuf[NI_MAXHOST];
137141

138142
ip_saddr.ip_addr = *ip_addr;
139143
ip_saddr.port = 0;
140144

141-
slen = SCK_IPSockAddrToSockaddr(&ip_saddr, (struct sockaddr *)&in6, sizeof (in6));
142-
if (!getnameinfo((struct sockaddr *)&in6, slen, hbuf, sizeof (hbuf), NULL, 0, 0))
145+
slen = SCK_IPSockAddrToSockaddr(&ip_saddr, (struct sockaddr *)&saddr, sizeof (saddr));
146+
if (!getnameinfo((struct sockaddr *)&saddr, slen, hbuf, sizeof (hbuf), NULL, 0, 0))
143147
result = hbuf;
144148

145149
if (result == NULL)

0 commit comments

Comments
 (0)