diff --git a/ChangeLog b/ChangeLog index 5a2e349a54..1e72af0230 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-08-18 Ulrich Drepper + + * sysdeps/posix/getaddrinfo.c (gaih_inet): Store NAME parameter + pointer in new variable ORIG_NAME and se this pointer when + determination of canonical name failed, not the possibly IDN + translated value of NAME. + 2004-08-17 Ulrich Drepper * resolv/resolv.h (RES_DEFAULT): Add RES_NOIP6DOTINT. diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index d87b965b27..d72457af10 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -362,6 +362,7 @@ gaih_inet (const char *name, const struct gaih_service *service, int rc; bool got_ipv6 = false; const char *canon = NULL; + const char *orig_name = name; if (req->ai_protocol || req->ai_socktype) { @@ -778,10 +779,10 @@ gaih_inet (const char *name, const struct gaih_service *service, canon = h->h_name; else { - assert (name != NULL); + assert (orig_name != NULL); /* If the canonical name cannot be determined, use the passed in string. */ - canon = name; + canon = orig_name; } }