diff --git a/adig.c b/adig.c index 0513d2fd..2208d9a2 100644 --- a/adig.c +++ b/adig.c @@ -370,7 +370,8 @@ static const unsigned char *display_question(const unsigned char *aptr, int alen) { char *name; - int type, dnsclass, status, len; + int type, dnsclass, status; + long len; /* Parse the question name. */ status = ares_expand_name(aptr, abuf, alen, &name, &len); @@ -408,7 +409,8 @@ static const unsigned char *display_rr(const unsigned char *aptr, { const unsigned char *p; char *name; - int type, dnsclass, ttl, dlen, status, len; + int type, dnsclass, ttl, dlen, status; + long len; struct in_addr addr; /* Parse the RR name. */ diff --git a/ares.h b/ares.h index 7ff256c8..c8f708ed 100644 --- a/ares.h +++ b/ares.h @@ -117,7 +117,7 @@ void ares_process(ares_channel channel, fd_set *read_fds, fd_set *write_fds); int ares_mkquery(const char *name, int dnsclass, int type, unsigned short id, int rd, unsigned char **buf, int *buflen); int ares_expand_name(const unsigned char *encoded, const unsigned char *abuf, - int alen, char **s, int *enclen); + int alen, char **s, long *enclen); int ares_parse_a_reply(const unsigned char *abuf, int alen, struct hostent **host); int ares_parse_ptr_reply(const unsigned char *abuf, int alen, const void *addr, diff --git a/ares_expand_name.c b/ares_expand_name.c index b242abf0..457f4da0 100644 --- a/ares_expand_name.c +++ b/ares_expand_name.c @@ -54,7 +54,7 @@ static int name_length(const unsigned char *encoded, const unsigned char *abuf, */ int ares_expand_name(const unsigned char *encoded, const unsigned char *abuf, - int alen, char **s, int *enclen) + int alen, char **s, long *enclen) { int len, indir = 0; char *q; diff --git a/ares_parse_a_reply.c b/ares_parse_a_reply.c index 1c18b56a..6c7e1933 100644 --- a/ares_parse_a_reply.c +++ b/ares_parse_a_reply.c @@ -35,8 +35,9 @@ int ares_parse_a_reply(const unsigned char *abuf, int alen, struct hostent **host) { unsigned int qdcount, ancount; - int status, i, len, rr_type, rr_class, rr_len, naddrs; + int status, i, rr_type, rr_class, rr_len, naddrs; int naliases; + long len; const unsigned char *aptr; char *hostname, *rr_name, *rr_data, **aliases; struct in_addr *addrs; diff --git a/ares_parse_ptr_reply.c b/ares_parse_ptr_reply.c index 13b3ab03..0651a1e2 100644 --- a/ares_parse_ptr_reply.c +++ b/ares_parse_ptr_reply.c @@ -34,7 +34,8 @@ int ares_parse_ptr_reply(const unsigned char *abuf, int alen, const void *addr, int addrlen, int family, struct hostent **host) { unsigned int qdcount, ancount; - int status, i, len, rr_type, rr_class, rr_len; + int status, i, rr_type, rr_class, rr_len; + long len; const unsigned char *aptr; char *ptrname, *hostname, *rr_name, *rr_data; struct hostent *hostent; diff --git a/ares_process.c b/ares_process.c index b381757b..b2661f73 100644 --- a/ares_process.c +++ b/ares_process.c @@ -525,7 +525,7 @@ static int same_questions(const unsigned char *qbuf, int qlen, const unsigned char *p; int qdcount; char *name; - int namelen; + long namelen; int type; int dnsclass; } q, a;