better checks to avoid free(NULL)

pull/1/head
Daniel Stenberg 21 years ago
parent d870be584d
commit 8cb7fd4e22
  1. 4
      ares__get_hostent.c

@ -140,10 +140,10 @@ int ares__get_hostent(FILE *fp, struct hostent **host)
memcpy(hostent->h_addr_list[0], &addr, sizeof(struct in_addr)); memcpy(hostent->h_addr_list[0], &addr, sizeof(struct in_addr));
hostent->h_addr_list[1] = NULL; hostent->h_addr_list[1] = NULL;
*host = hostent; *host = hostent;
if(line)
free(line); free(line);
return ARES_SUCCESS; return ARES_SUCCESS;
} }
if(line)
free(line); free(line);
if (status == ARES_SUCCESS) if (status == ARES_SUCCESS)
@ -160,7 +160,7 @@ int ares__get_hostent(FILE *fp, struct hostent **host)
} }
if(hostent->h_aliases) if(hostent->h_aliases)
free(hostent->h_aliases); free(hostent->h_aliases);
if (hostent->h_addr_list) if (hostent->h_addr_list && hostent->h_addr_list[0])
free(hostent->h_addr_list[0]); free(hostent->h_addr_list[0]);
if(hostent->h_addr_list) if(hostent->h_addr_list)
free(hostent->h_addr_list); free(hostent->h_addr_list);

Loading…
Cancel
Save