+
/* Copyright 1998 by the Massachusetts Institute of Technology.
*
* Permission to use, copy, modify, and distribute this
* without express or implied warranty.
*/
-#include "setup.h"
-#include <stdlib.h>
-
-#ifdef WIN32
+#include "ares_setup.h"
-#else
+#ifdef HAVE_NETDB_H
#include <netdb.h>
#endif
{
char **p;
- free(host->h_name);
+ if (!host)
+ return;
+
+ free((char *)(host->h_name));
for (p = host->h_aliases; *p; p++)
free(*p);
free(host->h_aliases);
- free(host->h_addr_list[0]);
+ free(host->h_addr_list[0]); /* no matter if there is one or many entries,
+ there is only one malloc for all of them */
free(host->h_addr_list);
free(host);
}