diff options
Diffstat (limited to 'ares_data.c')
-rw-r--r-- | ares_data.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ares_data.c b/ares_data.c index 0e43ddd..7c04650 100644 --- a/ares_data.c +++ b/ares_data.c @@ -106,6 +106,13 @@ void ares_free_data(void *dataptr) free(ptr->data.naptr_reply.replacement); break; + case ARES_DATATYPE_SOA_REPLY: + if (ptr->data.soa_reply.nsname) + free(ptr->data.soa_reply.nsname); + if (ptr->data.soa_reply.hostmaster) + free(ptr->data.soa_reply.hostmaster); + break; + default: return; } @@ -172,6 +179,16 @@ void *ares_malloc_data(ares_datatype type) ptr->data.naptr_reply.preference = 0; break; + case ARES_DATATYPE_SOA_REPLY: + ptr->data.soa_reply.nsname = NULL; + ptr->data.soa_reply.hostmaster = NULL; + ptr->data.soa_reply.serial = 0; + ptr->data.soa_reply.refresh = 0; + ptr->data.soa_reply.retry = 0; + ptr->data.soa_reply.expire = 0; + ptr->data.soa_reply.minttl = 0; + break; + default: free(ptr); return NULL; |