]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
nameserv: avoid sockaddr_in6 with disabled IPv6 support
authorMiroslav Lichvar <mlichvar@redhat.com>
Wed, 21 Apr 2021 12:40:12 +0000 (14:40 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Thu, 22 Apr 2021 08:20:31 +0000 (10:20 +0200)
Fixes: 10c760a80c15 ("nameserv: require getaddrinfo() and getnameinfo()")
nameserv.c

index 81d1af2b6650f003805221dc1b65d6b82e408613..9f7e648ce724cf821cfb1056dc9a94e6c4527c0e 100644 (file)
@@ -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)