summary refs log tree commit diff
path: root/sysdeps/posix
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-07-12 21:28:32 +0000
committerUlrich Drepper <drepper@redhat.com>1999-07-12 21:28:32 +0000
commit86421aa57ecfd70963ae66848bd6a6dd3b8e0fe6 (patch)
treea5cf438990caf7731c0ba36c1e2f87c543181ad2 /sysdeps/posix
parentbec5a77adbbb537fb5112fbcc106784596717e6b (diff)
downloadglibc-86421aa57ecfd70963ae66848bd6a6dd3b8e0fe6.tar.gz
glibc-86421aa57ecfd70963ae66848bd6a6dd3b8e0fe6.tar.xz
glibc-86421aa57ecfd70963ae66848bd6a6dd3b8e0fe6.zip
Update.
1999-07-12  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/posix/getaddrinfo.c (gaih_inet): For non-passive
	connections without a hostname set address to localhost address.
Diffstat (limited to 'sysdeps/posix')
-rw-r--r--sysdeps/posix/getaddrinfo.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 6810963357..5c7c2f4121 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -380,9 +380,13 @@ gaih_inet (const char *name, const struct gaih_service *service,
 	return -EAI_MEMORY;
 
       at->family = AF_INET6;
+      if ((req->ai_flags & AI_PASSIVE) == 0)
+	memcpy (at->addr, &in6addr_loopback, sizeof (struct in6_addr));
 
       memset (at->next, 0, sizeof(struct gaih_addrtuple));
       at->next->family = AF_INET;
+      if ((req->ai_flags & AI_PASSIVE) == 0)
+	*(uint32_t *) at->next->addr = htonl (INADDR_LOOPBACK);
     }
 
   if (pai == NULL)