aboutsummaryrefslogtreecommitdiff
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;
}
}