|
|
@ -40,10 +40,9 @@ |
|
|
|
|
|
|
|
|
|
|
|
void ares_free_data(void *dataptr) |
|
|
|
void ares_free_data(void *dataptr) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
while (dataptr != NULL) { |
|
|
|
struct ares_data *ptr; |
|
|
|
struct ares_data *ptr; |
|
|
|
|
|
|
|
void *next_data = NULL; |
|
|
|
if (!dataptr) |
|
|
|
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __INTEL_COMPILER |
|
|
|
#ifdef __INTEL_COMPILER |
|
|
|
# pragma warning(push) |
|
|
|
# pragma warning(push) |
|
|
@ -65,7 +64,7 @@ void ares_free_data(void *dataptr) |
|
|
|
case ARES_DATATYPE_MX_REPLY: |
|
|
|
case ARES_DATATYPE_MX_REPLY: |
|
|
|
|
|
|
|
|
|
|
|
if (ptr->data.mx_reply.next) |
|
|
|
if (ptr->data.mx_reply.next) |
|
|
|
ares_free_data(ptr->data.mx_reply.next); |
|
|
|
next_data = ptr->data.mx_reply.next; |
|
|
|
if (ptr->data.mx_reply.host) |
|
|
|
if (ptr->data.mx_reply.host) |
|
|
|
ares_free(ptr->data.mx_reply.host); |
|
|
|
ares_free(ptr->data.mx_reply.host); |
|
|
|
break; |
|
|
|
break; |
|
|
@ -73,7 +72,7 @@ void ares_free_data(void *dataptr) |
|
|
|
case ARES_DATATYPE_SRV_REPLY: |
|
|
|
case ARES_DATATYPE_SRV_REPLY: |
|
|
|
|
|
|
|
|
|
|
|
if (ptr->data.srv_reply.next) |
|
|
|
if (ptr->data.srv_reply.next) |
|
|
|
ares_free_data(ptr->data.srv_reply.next); |
|
|
|
next_data = ptr->data.srv_reply.next; |
|
|
|
if (ptr->data.srv_reply.host) |
|
|
|
if (ptr->data.srv_reply.host) |
|
|
|
ares_free(ptr->data.srv_reply.host); |
|
|
|
ares_free(ptr->data.srv_reply.host); |
|
|
|
break; |
|
|
|
break; |
|
|
@ -82,7 +81,7 @@ void ares_free_data(void *dataptr) |
|
|
|
case ARES_DATATYPE_TXT_EXT: |
|
|
|
case ARES_DATATYPE_TXT_EXT: |
|
|
|
|
|
|
|
|
|
|
|
if (ptr->data.txt_reply.next) |
|
|
|
if (ptr->data.txt_reply.next) |
|
|
|
ares_free_data(ptr->data.txt_reply.next); |
|
|
|
next_data = ptr->data.txt_reply.next; |
|
|
|
if (ptr->data.txt_reply.txt) |
|
|
|
if (ptr->data.txt_reply.txt) |
|
|
|
ares_free(ptr->data.txt_reply.txt); |
|
|
|
ares_free(ptr->data.txt_reply.txt); |
|
|
|
break; |
|
|
|
break; |
|
|
@ -90,19 +89,19 @@ void ares_free_data(void *dataptr) |
|
|
|
case ARES_DATATYPE_ADDR_NODE: |
|
|
|
case ARES_DATATYPE_ADDR_NODE: |
|
|
|
|
|
|
|
|
|
|
|
if (ptr->data.addr_node.next) |
|
|
|
if (ptr->data.addr_node.next) |
|
|
|
ares_free_data(ptr->data.addr_node.next); |
|
|
|
next_data = ptr->data.addr_node.next; |
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
case ARES_DATATYPE_ADDR_PORT_NODE: |
|
|
|
case ARES_DATATYPE_ADDR_PORT_NODE: |
|
|
|
|
|
|
|
|
|
|
|
if (ptr->data.addr_port_node.next) |
|
|
|
if (ptr->data.addr_port_node.next) |
|
|
|
ares_free_data(ptr->data.addr_port_node.next); |
|
|
|
next_data = ptr->data.addr_port_node.next; |
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
case ARES_DATATYPE_NAPTR_REPLY: |
|
|
|
case ARES_DATATYPE_NAPTR_REPLY: |
|
|
|
|
|
|
|
|
|
|
|
if (ptr->data.naptr_reply.next) |
|
|
|
if (ptr->data.naptr_reply.next) |
|
|
|
ares_free_data(ptr->data.naptr_reply.next); |
|
|
|
next_data = ptr->data.naptr_reply.next; |
|
|
|
if (ptr->data.naptr_reply.flags) |
|
|
|
if (ptr->data.naptr_reply.flags) |
|
|
|
ares_free(ptr->data.naptr_reply.flags); |
|
|
|
ares_free(ptr->data.naptr_reply.flags); |
|
|
|
if (ptr->data.naptr_reply.service) |
|
|
|
if (ptr->data.naptr_reply.service) |
|
|
@ -125,6 +124,8 @@ void ares_free_data(void *dataptr) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
ares_free(ptr); |
|
|
|
ares_free(ptr); |
|
|
|
|
|
|
|
dataptr = next_data; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|