From: Alexandre Oliva Date: Wed, 15 Oct 2014 06:52:43 +0000 (-0300) Subject: don't drop trailing dot in res_nquerydomain(..., name, NULL, ...) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ba878d017e6b65f5d2880ac8262bc68224ee3a53;p=thirdparty%2Fglibc.git don't drop trailing dot in res_nquerydomain(..., name, NULL, ...) If we drop it here, we will fail to detect a duplicate trailing dot later on. Retaining, OTOH, has no ill effects whatsoever, and it even saves us the trouble of copying the domain name minus the trailing dot, like we used to do. for ChangeLog PR 16469 * resolv/res_query.c (__libc_res_nquerydomain): Retain trailing dot. * NEWS: Fixes 16469. --- diff --git a/NEWS b/NEWS index 382d38dbdfd..9c664a91ea1 100644 --- a/NEWS +++ b/NEWS @@ -9,8 +9,8 @@ Version 2.21 * The following bugs are resolved with this release: - 6652, 12926, 14138, 14171, 15215, 15884, 17266, 17344, 17363, 17370, - 17371, 17411, 17460, 17485, 17501, 17508, 17522. + 6652, 12926, 14138, 14171, 15215, 15884, 16649, 17266, 17344, 17363, + 17370, 17371, 17411, 17460, 17485, 17501, 17508, 17522. Version 2.20 diff --git a/resolv/res_query.c b/resolv/res_query.c index e4ee2a60056..338ad82411e 100644 --- a/resolv/res_query.c +++ b/resolv/res_query.c @@ -561,10 +561,6 @@ __libc_res_nquerydomain(res_state statp, name, domain?domain:"", class, type); #endif if (domain == NULL) { - /* - * Check for trailing '.'; - * copy without '.' if present. - */ n = strlen(name); /* Decrement N prior to checking it against MAXDNAME @@ -575,11 +571,7 @@ __libc_res_nquerydomain(res_state statp, RES_SET_H_ERRNO(statp, NO_RECOVERY); return (-1); } - if (name[n] == '.') { - strncpy(nbuf, name, n); - nbuf[n] = '\0'; - } else - longname = name; + longname = name; } else { n = strlen(name); d = strlen(domain);