* sysdeps/posix/getaddrinfo.c (gaih_inet): Do not use
	gethostbyname3_r if we are not looking for the canonical name.
This commit is contained in:
Ulrich Drepper 2004-09-18 23:57:46 +00:00
parent 1ab1fa6fb7
commit d72433621f
2 changed files with 10 additions and 2 deletions

View File

@ -1,5 +1,8 @@
2004-09-18 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Do not use
gethostbyname3_r if we are not looking for the canonical name.
* resolv/res_mkquery.c (res_nmkquery): Randomize request ID every
time.

View File

@ -775,8 +775,13 @@ gaih_inet (const char *name, const struct gaih_service *service,
while (!no_more)
{
nss_gethostbyname3_r fct
= __nss_lookup_function (nip, "gethostbyname3_r");
nss_gethostbyname3_r fct = NULL;
if (req->ai_flags & AI_CANONNAME)
/* No need to use this function if we do not look for
the canonical name. The function does not exist in
all NSS modules and therefore the lookup would
often fail. */
fct = __nss_lookup_function (nip, "gethostbyname3_r");
if (fct == NULL)
/* We are cheating here. The gethostbyname2_r function does
not have the same interface as gethostbyname3_r but the