summaryrefslogtreecommitdiff
path: root/resolv/res_send.c
diff options
context:
space:
mode:
Diffstat (limited to 'resolv/res_send.c')
-rw-r--r--resolv/res_send.c9
1 files changed, 7 insertions, 2 deletions
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