about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/posix/getaddrinfo.c5
2 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5a2e349a54..1e72af0230 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-08-18  Ulrich Drepper  <drepper@redhat.com>
+
+	* 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  <drepper@redhat.com>
 
 	* 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;
 		  }
 	      }