mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-03 15:45:07 -05:00
nameserv: avoid sockaddr_in6 with disabled IPv6 support
Fixes: 10c760a80c ("nameserv: require getaddrinfo() and getnameinfo()")
This commit is contained in:
10
nameserv.c
10
nameserv.c
@@ -130,7 +130,11 @@ int
|
|||||||
DNS_IPAddress2Name(IPAddr *ip_addr, char *name, int len)
|
DNS_IPAddress2Name(IPAddr *ip_addr, char *name, int len)
|
||||||
{
|
{
|
||||||
char *result = NULL;
|
char *result = NULL;
|
||||||
struct sockaddr_in6 in6;
|
#ifdef FEAT_IPV6
|
||||||
|
struct sockaddr_in6 saddr;
|
||||||
|
#else
|
||||||
|
struct sockaddr_in saddr;
|
||||||
|
#endif
|
||||||
IPSockAddr ip_saddr;
|
IPSockAddr ip_saddr;
|
||||||
socklen_t slen;
|
socklen_t slen;
|
||||||
char hbuf[NI_MAXHOST];
|
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.ip_addr = *ip_addr;
|
||||||
ip_saddr.port = 0;
|
ip_saddr.port = 0;
|
||||||
|
|
||||||
slen = SCK_IPSockAddrToSockaddr(&ip_saddr, (struct sockaddr *)&in6, sizeof (in6));
|
slen = SCK_IPSockAddrToSockaddr(&ip_saddr, (struct sockaddr *)&saddr, sizeof (saddr));
|
||||||
if (!getnameinfo((struct sockaddr *)&in6, slen, hbuf, sizeof (hbuf), NULL, 0, 0))
|
if (!getnameinfo((struct sockaddr *)&saddr, slen, hbuf, sizeof (hbuf), NULL, 0, 0))
|
||||||
result = hbuf;
|
result = hbuf;
|
||||||
|
|
||||||
if (result == NULL)
|
if (result == NULL)
|
||||||
|
|||||||
Reference in New Issue
Block a user