Commit c7fe8a7a authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

make ares_expand_name() take a long * instead of an int *, since we do

pointer arithmetic (ptr1 - ptr2) and to do that properly on 64bit we need
long
parent 7174ca7a
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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. */
+1 −1
Original line number Diff line number Diff line
@@ -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,
+1 −1
Original line number Diff line number Diff line
@@ -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;
+2 −1
Original line number Diff line number Diff line
@@ -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;
+2 −1
Original line number Diff line number Diff line
@@ -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;
Loading