we cannot use inet_ntoa(3), here. so, use inet_ntop(3), instead.
This commit is contained in:
parent
e47099593a
commit
0d389e7212
@ -532,7 +532,7 @@ _dns_gethostbyaddr(void *rval, void *cb_data, va_list ap)
|
||||
struct hostent *rhe;
|
||||
char **haddr;
|
||||
u_long old_options;
|
||||
char hname2[MAXDNAME+1];
|
||||
char hname2[MAXDNAME+1], numaddr[46];
|
||||
#endif /*SUNSECURITY*/
|
||||
|
||||
addr = va_arg(ap, const char *);
|
||||
@ -625,9 +625,11 @@ _dns_gethostbyaddr(void *rval, void *cb_data, va_list ap)
|
||||
_res.options |= RES_DEFNAMES;
|
||||
memset(&rhd, 0, sizeof rhd);
|
||||
if (!(rhe = gethostbyname_r(hname2, &rhd.host, &rhd.data))) {
|
||||
if (inet_ntop(af, addr, numaddr, sizeof(numaddr)) == NULL)
|
||||
strlcpy(numaddr, "UNKNOWN", sizeof(numaddr));
|
||||
syslog(LOG_NOTICE|LOG_AUTH,
|
||||
"gethostbyaddr: No A record for %s (verifying [%s])",
|
||||
hname2, inet_ntoa(*((struct in_addr *)addr)));
|
||||
hname2, numaddr);
|
||||
_res.options = old_options;
|
||||
h_errno = HOST_NOT_FOUND;
|
||||
return NS_NOTFOUND;
|
||||
@ -637,9 +639,11 @@ _dns_gethostbyaddr(void *rval, void *cb_data, va_list ap)
|
||||
if (!memcmp(*haddr, addr, INADDRSZ))
|
||||
break;
|
||||
if (!*haddr) {
|
||||
if (inet_ntop(af, addr, numaddr, sizeof(numaddr)) == NULL)
|
||||
strlcpy(numaddr, "UNKNOWN", sizeof(numaddr));
|
||||
syslog(LOG_NOTICE|LOG_AUTH,
|
||||
"gethostbyaddr: A record of %s != PTR record [%s]",
|
||||
hname2, inet_ntoa(*((struct in_addr *)addr)));
|
||||
hname2, numaddr);
|
||||
h_errno = HOST_NOT_FOUND;
|
||||
return NS_NOTFOUND;
|
||||
}
|
||||
|
@ -171,6 +171,7 @@ _gethostbynisaddr_r(const char *addr, int len, int af, struct hostent *he,
|
||||
struct hostent_data *hed)
|
||||
{
|
||||
char *map;
|
||||
char numaddr[46];
|
||||
|
||||
switch (af) {
|
||||
case AF_INET:
|
||||
@ -180,8 +181,9 @@ _gethostbynisaddr_r(const char *addr, int len, int af, struct hostent *he,
|
||||
map = "ipnodes.byaddr";
|
||||
break;
|
||||
}
|
||||
return _gethostbynis(inet_ntoa(*(struct in_addr *)addr), map, af, he,
|
||||
hed);
|
||||
if (inet_ntop(af, addr, numaddr, sizeof(numaddr)) == NULL)
|
||||
return -1;
|
||||
return _gethostbynis(numaddr, map, af, he, hed);
|
||||
}
|
||||
#endif /* YP */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user