better checks to avoid free(NULL)

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

@ -140,11 +140,11 @@ 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;
} }
free(line); if(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