This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] nss_dns: Do not replace root domain with empty string
- From: Florian Weimer <fweimer at redhat dot com>
- To: libc-alpha at sourceware dot org
- Date: Mon, 08 Apr 2019 13:18:29 +0200
- Subject: [PATCH] nss_dns: Do not replace root domain with empty string
The purpose of the bp[0] == '.' check is unclear. Only the root domain
starts with '.'. An empty string is not a valid domain name, so the
subsequent res_dnok check fails.
2019-04-08 Florian Weimer <fweimer@redhat.com>
* resolv/nss_dns/dns-network.c (getanswer_r): Do not replace root
domain with empty string.
* resolv/nss_dns/dns-host.c (getanswer_r): Likewise.
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index a18b8a6bf4..9c15f25f28 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -706,9 +706,6 @@ getanswer_r (struct resolv_context *ctx,
n = -1;
}
- if (n > 0 && bp[0] == '.')
- bp[0] = '\0';
-
if (__glibc_unlikely (n < 0))
{
*errnop = errno;
diff --git a/resolv/nss_dns/dns-network.c b/resolv/nss_dns/dns-network.c
index 4b81b1bfdc..21688c19b2 100644
--- a/resolv/nss_dns/dns-network.c
+++ b/resolv/nss_dns/dns-network.c
@@ -345,9 +345,6 @@ getanswer_r (const querybuf *answer, int anslen, struct netent *result,
n = -1;
}
- if (n > 0 && bp[0] == '.')
- bp[0] = '\0';
-
if (n < 0 || res_dnok (bp) == 0)
break;
cp += n;