diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c index 3af1d2f0c13..ed417306f02 100644 --- a/src/nss-myhostname/nss-myhostname.c +++ b/src/nss-myhostname/nss-myhostname.c @@ -346,9 +346,10 @@ enum nss_status _nss_myhostname_gethostbyname3_r( return NSS_STATUS_UNAVAIL; } + if (af == AF_INET6 && !socket_ipv6_is_enabled()) + goto not_found; + if (is_localhost(name)) { - if (af == AF_INET6 && !socket_ipv6_is_enabled()) - goto not_found; canonical = "localhost"; local_address_ipv4 = htobe32(INADDR_LOOPBACK); @@ -461,7 +462,7 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r( } else { assert(af == AF_INET6); - if (socket_ipv6_is_enabled()) + if (!socket_ipv6_is_enabled()) goto not_found; if (memcmp(addr, LOCALADDRESS_IPV6, 16) == 0) {