summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/posix/getaddrinfo.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f62c7fe6fd..fdd00cca2a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2000-01-17  Ulrich Drepper  <drepper@cygnus.com>
 
+	* sysdeps/posix/getaddrinfo.c (gaih_local): If name is given and
+	AI_NUMERICHOST flag is set, return an error.
+	Patch by Hideaki YOSHIFUJI <yoshfuji@ecei.tohoku.ac.jp>.
+
 	* inet/rcmd.c: Implement rcmd_af, rresvport_af, ruserok_af, and
 	iruserok_af.
 	* inet/rexec.c: Implement rexec_af.
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index b4d408d5d4..9b66676e1c 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -124,6 +124,9 @@ gaih_local (const char *name, const struct gaih_service *service,
 {
   struct utsname utsname;
 
+  if ((name != NULL) && (req->ai_flags & AI_NUMERICHOST))
+    return GAIH_OKIFUNSPEC | -EAI_NONAME;
+
   if ((name != NULL) || (req->ai_flags & AI_CANONNAME))
     if (uname (&utsname))
       return -EAI_SYSTEM;