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.
This commit is contained in:
Alexandre Oliva 2014-10-15 03:52:43 -03:00
parent ff9a1b7dce
commit ba878d017e
2 changed files with 3 additions and 11 deletions

4
NEWS
View File

@ -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

View File

@ -561,10 +561,6 @@ __libc_res_nquerydomain(res_state statp,
name, domain?domain:"<Nil>", 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);