diff options
Diffstat (limited to 'contrib/bind/tools/nslookup/getinfo.c')
-rw-r--r-- | contrib/bind/tools/nslookup/getinfo.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/contrib/bind/tools/nslookup/getinfo.c b/contrib/bind/tools/nslookup/getinfo.c index 4587fb6..9d31b8f 100644 --- a/contrib/bind/tools/nslookup/getinfo.c +++ b/contrib/bind/tools/nslookup/getinfo.c @@ -55,7 +55,7 @@ #ifndef lint static char sccsid[] = "@(#)getinfo.c 5.26 (Berkeley) 3/21/91"; -static char rcsid[] = "$Id: getinfo.c,v 8.3 1995/12/29 07:16:27 vixie Exp $"; +static char rcsid[] = "$Id: getinfo.c,v 8.6 1996/12/02 09:17:24 vixie Exp $"; #endif /* not lint */ /* @@ -85,11 +85,6 @@ static char rcsid[] = "$Id: getinfo.c,v 8.3 1995/12/29 07:16:27 vixie Exp $"; extern char *_res_resultcodes[]; extern char *res_skip(); -#define MAXALIASES 35 -#define MAXADDRS 35 -#define MAXDOMAINS 35 -#define MAXSERVERS 10 - static char *addr_list[MAXADDRS + 1]; static char *host_aliases[MAXALIASES]; @@ -313,6 +308,11 @@ GetAnswer(nsAddrPtr, queryType, msg, msglen, iquery, hostPtr, isServer) } break; } + if (numAddresses >= MAXADDRS) { + printf("MAXADDRS exceeded: skipping address\n"); + cp += dlen; + continue; + } bcopy(cp, *addrPtr++ = (char *)bp, dlen); bp +=dlen; cp += dlen; @@ -570,7 +570,8 @@ GetHostInfoByName(nsAddrPtr, queryClass, queryType, name, hostPtr, isServer) { int n; register int result; - register char *cp, **domain; + register char **domain; + const char *cp; Boolean got_nodata = FALSE; struct in_addr ina; Boolean tried_as_is = FALSE; |