nameserv: avoid sockaddr_in6 with disabled IPv6 support
Fixes: 10c760a80c
("nameserv: require getaddrinfo() and getnameinfo()")
This commit is contained in:
parent
3f6528da77
commit
039b388c82
1 changed files with 7 additions and 3 deletions
10
nameserv.c
10
nameserv.c
|
@ -130,7 +130,11 @@ int
|
|||
DNS_IPAddress2Name(IPAddr *ip_addr, char *name, int len)
|
||||
{
|
||||
char *result = NULL;
|
||||
struct sockaddr_in6 in6;
|
||||
#ifdef FEAT_IPV6
|
||||
struct sockaddr_in6 saddr;
|
||||
#else
|
||||
struct sockaddr_in saddr;
|
||||
#endif
|
||||
IPSockAddr ip_saddr;
|
||||
socklen_t slen;
|
||||
char hbuf[NI_MAXHOST];
|
||||
|
@ -138,8 +142,8 @@ DNS_IPAddress2Name(IPAddr *ip_addr, char *name, int len)
|
|||
ip_saddr.ip_addr = *ip_addr;
|
||||
ip_saddr.port = 0;
|
||||
|
||||
slen = SCK_IPSockAddrToSockaddr(&ip_saddr, (struct sockaddr *)&in6, sizeof (in6));
|
||||
if (!getnameinfo((struct sockaddr *)&in6, slen, hbuf, sizeof (hbuf), NULL, 0, 0))
|
||||
slen = SCK_IPSockAddrToSockaddr(&ip_saddr, (struct sockaddr *)&saddr, sizeof (saddr));
|
||||
if (!getnameinfo((struct sockaddr *)&saddr, slen, hbuf, sizeof (hbuf), NULL, 0, 0))
|
||||
result = hbuf;
|
||||
|
||||
if (result == NULL)
|
||||
|
|
Loading…
Reference in a new issue