void
ldns_pkt_free(ldns_pkt *packet)
{
- FREE(packet->_header);
- if (packet->_question) {
- ldns_rr_list_free(packet->_question);
- }
- if (packet->_answer) {
- ldns_rr_list_free(packet->_answer);
- }
- if (packet->_authority) {
- ldns_rr_list_free(packet->_authority);
- }
- if (packet->_additional) {
- ldns_rr_list_free(packet->_additional);
- }
- if (packet->_tsig_rr) {
- ldns_rr_free(packet->_tsig_rr);
+ if (packet) {
+ FREE(packet->_header);
+ if (packet->_question) {
+ ldns_rr_list_free(packet->_question);
+ }
+ if (packet->_answer) {
+ ldns_rr_list_free(packet->_answer);
+ }
+ if (packet->_authority) {
+ ldns_rr_list_free(packet->_authority);
+ }
+ if (packet->_additional) {
+ ldns_rr_list_free(packet->_additional);
+ }
+ if (packet->_tsig_rr) {
+ ldns_rr_free(packet->_tsig_rr);
+ }
+ FREE(packet);
}
- FREE(packet);
}
/**
void
ldns_rdf_free_data(ldns_rdf *rd)
{
- FREE(rd->_data);
- FREE(rd);
+ if (rd) {
+ FREE(rd->_data);
+ FREE(rd);
+ }
}
/**
ldns_rdf_free(ldns_rdf *rd)
{
if (rd) {
- if (rd->_data) {
- FREE(rd->_data);
- }
FREE(rd);
}
}
void
ldns_resolver_free(ldns_resolver *res)
{
- FREE(res->_searchlist);
- FREE(res->_nameservers);
- FREE(res);
+ if (res) {
+ FREE(res->_searchlist);
+ FREE(res->_nameservers);
+ FREE(res);
+ }
}
/**
ldns_rr_free(ldns_rr *rr)
{
uint16_t i;
- if (ldns_rr_owner(rr)) {
- ldns_rdf_free(ldns_rr_owner(rr));
- }
- for (i = 0; i < ldns_rr_rd_count(rr); i++) {
- ldns_rdf_free(ldns_rr_rdf(rr, i));
+ if (rr) {
+ if (ldns_rr_owner(rr)) {
+ ldns_rdf_free(ldns_rr_owner(rr));
+ }
+ for (i = 0; i < ldns_rr_rd_count(rr); i++) {
+ ldns_rdf_free(ldns_rr_rdf(rr, i));
+ }
+ FREE(rr);
}
- /*
- FREE(ldns_rr_owner(rr));
- */
- FREE(rr);
}
/**
{
uint16_t i;
- for (i=0; i < ldns_rr_list_rr_count(rr_list); i++) {
- ldns_rr_free(ldns_rr_list_rr(rr_list, i));
+ if (rr_list) {
+ for (i=0; i < ldns_rr_list_rr_count(rr_list); i++) {
+ ldns_rr_free(ldns_rr_list_rr(rr_list, i));
+ }
+
+ FREE(rr_list);
}
-
- FREE(rr_list);
}