about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--resolv/res_send.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 48c7dd6b57..de698d335d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-08-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* resolv/res_send.c (send_vc): Pass correct sockaddr size to connect.
+
 2005-08-19  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* sysdeps/ia64/fpu/libm_error.c (__libm_error_support): Don't abort.
diff --git a/resolv/res_send.c b/resolv/res_send.c
index 6f12b88d6f..86c4f1e0f7 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -654,7 +654,9 @@ send_vc(res_state statp,
 		}
 		__set_errno (0);
 		if (connect(statp->_vcsock, (struct sockaddr *)nsap,
-			    sizeof *nsap) < 0) {
+			    nsap->sin6_family == AF_INET
+			    ? sizeof (struct sockaddr_in)
+			    : sizeof (struct sockaddr_in6)) < 0) {
 			*terrno = errno;
 			Aerror(statp, stderr, "connect/vc", errno,
 			       (struct sockaddr *) nsap);