summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--resolv/res_send.c9
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index de698d335d..2d86dcaba1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2005-08-21  Ulrich Drepper  <drepper@redhat.com>
 
+	* resolv/res_send.c (Aerror): Fix printing IP address.
+
 	* resolv/res_send.c (send_vc): Pass correct sockaddr size to connect.
 
 2005-08-19  H.J. Lu  <hongjiu.lu@intel.com>
diff --git a/resolv/res_send.c b/resolv/res_send.c
index 86c4f1e0f7..e62cde2360 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -1062,8 +1062,13 @@ Aerror(const res_state statp, FILE *file, const char *string, int error,
 
 		fprintf(file, "res_send: %s ([%s].%u): %s\n",
 			string,
-			inet_ntop(address->sa_family, address->sa_data,
-				  tmp, sizeof tmp),
+			(address->sa_family == AF_INET
+			 ? inet_ntop(address->sa_family,
+				     &((const struct sockaddr_in *) address)->sin_addr,
+				     tmp, sizeof tmp)
+			 : inet_ntop(address->sa_family,
+				     &((const struct sockaddr_in6 *) address)->sin6_addr,
+				     tmp, sizeof tmp)),
 			(address->sa_family == AF_INET
 			 ? ntohs(((struct sockaddr_in *) address)->sin_port)
 			 : address->sa_family == AF_INET6