aboutsummaryrefslogtreecommitdiff
path: root/ares/ares_getnameinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'ares/ares_getnameinfo.c')
-rw-r--r--ares/ares_getnameinfo.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ares/ares_getnameinfo.c b/ares/ares_getnameinfo.c
index 51e36fb10..117c6c9a4 100644
--- a/ares/ares_getnameinfo.c
+++ b/ares/ares_getnameinfo.c
@@ -110,7 +110,8 @@ void ares_getnameinfo(ares_channel channel, const struct sockaddr *sa, socklen_t
port = addr->sin_port;
else
port = addr6->sin6_port;
- service = lookup_service(port, flags, buf, sizeof(buf));
+ service = lookup_service((unsigned short)(port & 0xffff),
+ flags, buf, sizeof(buf));
callback(arg, ARES_SUCCESS, NULL, service);
return;
}
@@ -151,7 +152,8 @@ void ares_getnameinfo(ares_channel channel, const struct sockaddr *sa, socklen_t
}
/* They also want a service */
if (flags & ARES_NI_LOOKUPSERVICE)
- service = lookup_service(port, flags, srvbuf, sizeof(srvbuf));
+ service = lookup_service((unsigned short)(port & 0xffff),
+ flags, srvbuf, sizeof(srvbuf));
callback(arg, ARES_SUCCESS, ipbuf, service);
return;
}