diff --git a/scripts/rrset-deep-free-remove-arg.cocci b/scripts/rrset-deep-free-remove-arg.cocci new file mode 100644 index 0000000000000000000000000000000000000000..4a63a511500feff0c40b2b2d9ff1ceacd054ba45 --- /dev/null +++ b/scripts/rrset-deep-free-remove-arg.cocci @@ -0,0 +1,15 @@ +// +// Remove third argument from knot_rrset_deep_free{,no_sig}() calls +// + +@@ +expression E1, E2, E3; +@@ +( + knot_rrset_deep_free +| + knot_rrset_deep_free_no_sig +) + (E1, E2 +- , E3 + ) diff --git a/src/knot/ctl/knotc_main.c b/src/knot/ctl/knotc_main.c index f72c2cc095c2f59d9205cbcd410d16084bee5262..6b5bb79422edf7868676526b4c3db61c557dc2d2 100644 --- a/src/knot/ctl/knotc_main.c +++ b/src/knot/ctl/knotc_main.c @@ -222,7 +222,7 @@ static int cmd_remote(const char *cmd, uint16_t rrt, int argc, char *argv[]) } if (knot_packet_to_wire(qr, &buf, &buflen) != KNOT_EOK) { - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); knot_packet_free(&qr); return 1; } @@ -258,7 +258,7 @@ static int cmd_remote(const char *cmd, uint16_t rrt, int argc, char *argv[]) /* Cleanup. */ if (rc == 0) printf("\n"); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); /* Close connection. */ socket_close(s); diff --git a/src/knot/ctl/remote.c b/src/knot/ctl/remote.c index c948701f2bce14a5664688f29c7e875fefc172cb..1c703291ea536b76e5f8302be65059ace647041a 100644 --- a/src/knot/ctl/remote.c +++ b/src/knot/ctl/remote.c @@ -533,13 +533,13 @@ static int remote_send_chunk(int c, knot_packet_t *pkt, const char* d, size_t rrlen = rlen; ret = knot_rrset_to_wire(rr, rwire + len, &rrlen, rlen, &rr_count, NULL); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); return ret; } knot_wire_set_nscount(rwire, rr_count); len += rrlen; rlen -= rrlen; - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); if (len > 0) { return tcp_send(c, rwire, len); diff --git a/src/knot/server/zones.c b/src/knot/server/zones.c index 80999c3080313a8c37b9868116ecffa0aeb9e6e1..b757f9b18ccba3500bdc31d88bd2bf311bcb8d35 100644 --- a/src/knot/server/zones.c +++ b/src/knot/server/zones.c @@ -782,7 +782,7 @@ int zones_changesets_from_binary(knot_changesets_t *chgsets) } else { /* Final SOA. */ dbg_xfr_verb("xfr: extra SOA\n"); - knot_rrset_deep_free(&rrset, 1, 1); + knot_rrset_deep_free(&rrset, 1); break; } } else { @@ -1083,7 +1083,7 @@ static void zones_free_merged_changesets(knot_changesets_t *diff_chs, * thus must be freed */ knot_rrset_deep_free_no_sig( - &(knot_changesets_get_last(sec_chs)->soa_from), 1, 1); + &(knot_changesets_get_last(sec_chs)->soa_from), 1); // Reset sec_chs' chngeset list, else we'd double free. init_list(&sec_chs->sets); diff --git a/src/knot/zone/zone-load.c b/src/knot/zone/zone-load.c index b26252cc142b85dd618bb4e18d7ee322a4fa8f79..7622a7eac855be06e79ef72fc3fe24b9fc83156e 100644 --- a/src/knot/zone/zone-load.c +++ b/src/knot/zone/zone-load.c @@ -144,7 +144,7 @@ static int find_rrset_for_rrsig_in_node(knot_zone_contents_t *zone, return KNOT_EINVAL; } else if (ret > 0) { /* Merged, free data + owner, but not DNAMEs inside RDATA. */ - knot_rrset_deep_free(&rrsig, 1, 0); + knot_rrset_deep_free(&rrsig, 1); } assert(tmp_rrset->rrsigs != NULL); @@ -303,7 +303,7 @@ static void process_rr(const scanner_t *scanner) } else { log_zone_warning("encountered identical " "extra SOA record\n"); - knot_rrset_deep_free(¤t_rrset, 1, 1); + knot_rrset_deep_free(¤t_rrset, 1); parser->ret = KNOT_EOK; return; } @@ -452,7 +452,7 @@ static void process_rr(const scanner_t *scanner) parser->ret = ret; return; } else if (ret > 0) { - knot_rrset_deep_free(¤t_rrset, 1, 0); + knot_rrset_deep_free(¤t_rrset, 1); } assert(parser->current_zone && node); /* Do mandatory semantic checks. */ diff --git a/src/libknot/dnssec/sig0.c b/src/libknot/dnssec/sig0.c index e0df8952bb0441f6548b08e3a14bb2916f14e5a1..42eb93830fb0b24a264ed53120e94d6773bcdff6 100644 --- a/src/libknot/dnssec/sig0.c +++ b/src/libknot/dnssec/sig0.c @@ -191,7 +191,7 @@ int knot_sig0_sign(uint8_t *wire, size_t *wire_size, size_t wire_max_size, uint8_t *sig_rdata = sig0_create_rdata(sig_rrset, key); if (!sig_rdata) { - knot_rrset_deep_free(&sig_rrset, 1, 0); + knot_rrset_deep_free(&sig_rrset, 1); return KNOT_ENOMEM; } @@ -207,7 +207,7 @@ int knot_sig0_sign(uint8_t *wire, size_t *wire_size, size_t wire_max_size, int result = knot_rrset_to_wire(sig_rrset, wire_end, &wire_sig_size, wire_avail_size, &written_rr_count, NULL); - knot_rrset_deep_free(&sig_rrset, 1, 0); + knot_rrset_deep_free(&sig_rrset, 1); if (result != KNOT_EOK) { return result; } diff --git a/src/libknot/dnssec/zone-nsec.c b/src/libknot/dnssec/zone-nsec.c index 2d22beafa6fe6b9c20477fa887a1f0490d26b744..2b5a929bd1e330990fdb11d9dc3e1ae7ccfb085a 100644 --- a/src/libknot/dnssec/zone-nsec.c +++ b/src/libknot/dnssec/zone-nsec.c @@ -140,8 +140,8 @@ static int changeset_remove_nsec(const knot_rrset_t *oldrr, result = knot_changeset_add_rrset(changeset, old_nsec, KNOT_CHANGESET_REMOVE); if (result != KNOT_EOK) { - knot_rrset_deep_free(&old_nsec, 1, 1); - knot_rrset_deep_free(&old_rrsigs, 1, 1); + knot_rrset_deep_free(&old_nsec, 1); + knot_rrset_deep_free(&old_rrsigs, 1); return result; } @@ -149,7 +149,7 @@ static int changeset_remove_nsec(const knot_rrset_t *oldrr, result = knot_changeset_add_rrset(changeset, old_rrsigs, KNOT_CHANGESET_REMOVE); if (result != KNOT_EOK) { - knot_rrset_deep_free(&old_rrsigs, 1, 1); + knot_rrset_deep_free(&old_rrsigs, 1); return result; } } @@ -264,7 +264,7 @@ static int connect_nsec_nodes(knot_node_t *a, knot_node_t *b, void *d) KNOT_RRSET_COMPARE_WHOLE)) { // current NSEC is valid, do nothing dbg_dnssec_detail("NSECs equal.\n"); - knot_rrset_deep_free(&new_nsec, 1, 1); + knot_rrset_deep_free(&new_nsec, 1); return KNOT_EOK; } @@ -274,7 +274,7 @@ static int connect_nsec_nodes(knot_node_t *a, knot_node_t *b, void *d) knot_node_set_replaced_nsec(a); ret = changeset_remove_nsec(old_nsec, data->changeset); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&new_nsec, 1, 1); + knot_rrset_deep_free(&new_nsec, 1); return ret; } } @@ -774,7 +774,7 @@ static void free_nsec3_tree(knot_zone_tree_t *nodes) // referenced RRSIGs from old NSEC3 tree node->rrset_tree[i]->rrsigs = NULL; // newly allocated NSEC3 nodes - knot_rrset_deep_free(&node->rrset_tree[i], 1, 1); + knot_rrset_deep_free(&node->rrset_tree[i], 1); } knot_node_free(&node); diff --git a/src/libknot/dnssec/zone-sign.c b/src/libknot/dnssec/zone-sign.c index 388f675840a576a6cedf399e02e1aa460e2edcc7..07a5a6c828e2df1ee3fa8e9676e05e37bbb5c3ac 100644 --- a/src/libknot/dnssec/zone-sign.c +++ b/src/libknot/dnssec/zone-sign.c @@ -226,8 +226,7 @@ static int remove_expired_rrsigs(const knot_rrset_t *covered, if (to_remove != NULL && result != KNOT_EOK) { int free_owners = true; - int free_rdata_dnames = true; - knot_rrset_deep_free(&to_remove, free_owners, free_rdata_dnames); + knot_rrset_deep_free(&to_remove, free_owners); } return result; @@ -289,8 +288,7 @@ static int add_missing_rrsigs(const knot_rrset_t *covered, if (to_add != NULL && result != KNOT_EOK) { int free_owners = true; - int free_rdata_dnames = true; - knot_rrset_deep_free(&to_add, free_owners, free_rdata_dnames); + knot_rrset_deep_free(&to_add, free_owners); } return result; @@ -746,7 +744,7 @@ done: } if (to_remove != NULL && result != KNOT_EOK) { - knot_rrset_deep_free(&to_remove, 1, 1); + knot_rrset_deep_free(&to_remove, 1); } return result; @@ -824,7 +822,7 @@ static int add_missing_dnskeys(const knot_rrset_t *soa, } if (to_add != NULL && result != KNOT_EOK) { - knot_rrset_deep_free(&to_add, 1, 1); + knot_rrset_deep_free(&to_add, 1); } return result; @@ -887,7 +885,7 @@ static int update_dnskeys_rrsigs(const knot_rrset_t *dnskeys, fail: - knot_rrset_deep_free(&new_dnskeys, 1, 1); + knot_rrset_deep_free(&new_dnskeys, 1); return result; } @@ -1073,7 +1071,7 @@ int knot_zone_sign_update_soa(const knot_rrset_t *soa, result = knot_changeset_add_rrset(changeset, soa_copy, KNOT_CHANGESET_REMOVE); if (result != KNOT_EOK) { - knot_rrset_deep_free(&soa_copy, 1, 1); + knot_rrset_deep_free(&soa_copy, 1); return result; } } @@ -1090,7 +1088,7 @@ int knot_zone_sign_update_soa(const knot_rrset_t *soa, result = knot_rrset_deep_copy_no_sig(soa, &soa_to); if (result != KNOT_EOK) { - knot_rrset_deep_free(&soa_from, 1, 1); + knot_rrset_deep_free(&soa_from, 1); return result; } @@ -1100,8 +1098,8 @@ int knot_zone_sign_update_soa(const knot_rrset_t *soa, result = add_missing_rrsigs(soa_to, NULL, zone_keys, policy, changeset); if (result != KNOT_EOK) { - knot_rrset_deep_free(&soa_from, 1, 1); - knot_rrset_deep_free(&soa_to, 1, 1); + knot_rrset_deep_free(&soa_from, 1); + knot_rrset_deep_free(&soa_to, 1); return result; } diff --git a/src/libknot/nameserver/chaos.c b/src/libknot/nameserver/chaos.c index 2577de500d79c944f38c1884ce87764a03350c1c..44ca6adb7af9597ba37a8a822008acd3ba4f0a22 100644 --- a/src/libknot/nameserver/chaos.c +++ b/src/libknot/nameserver/chaos.c @@ -73,7 +73,7 @@ static knot_rrset_t *create_txt_rrset(const knot_dname_t *owner, uint8_t *rdata = knot_rrset_create_rdata(rrset, response_len + 1); if (!rdata) { - knot_rrset_deep_free(&rrset, 1, 0); + knot_rrset_deep_free(&rrset, 1); return NULL; } @@ -103,17 +103,17 @@ static int answer_txt(knot_nameserver_t *nameserver, knot_packet_t *response, int result = knot_response_add_rrset_answer(response, rrset, 1, 0, 0); if (result != KNOT_EOK) { - knot_rrset_deep_free(&rrset, 1, 0); + knot_rrset_deep_free(&rrset, 1); return KNOT_RCODE_SERVFAIL; } result = ns_response_to_wire(response, response_wire, response_size); if (result != KNOT_EOK) { - knot_rrset_deep_free(&rrset, 1, 0); + knot_rrset_deep_free(&rrset, 1); return KNOT_RCODE_SERVFAIL; } - knot_rrset_deep_free(&rrset, 1, 0); + knot_rrset_deep_free(&rrset, 1); knot_response_set_rcode(response, KNOT_RCODE_NOERROR); return KNOT_RCODE_NOERROR; diff --git a/src/libknot/nameserver/name-server.c b/src/libknot/nameserver/name-server.c index a1c75e5dafe6a77c0873db7f06c84bb010cc2da6..64d8eec2568e08bc3fc4d79482b336acfd45cd93 100644 --- a/src/libknot/nameserver/name-server.c +++ b/src/libknot/nameserver/name-server.c @@ -161,7 +161,7 @@ dbg_ns_exec_verb( int ret = knot_packet_add_tmp_rrset(resp, synth_rrset); if (ret != KNOT_EOK) { dbg_ns("Failed to add sythetized RRSet to tmp list.\n"); - knot_rrset_deep_free(&synth_rrset, 1, 1); + knot_rrset_deep_free(&synth_rrset, 1); return ret; } *rrset = synth_rrset; @@ -348,7 +348,7 @@ static int ns_follow_cname(const knot_node_t **node, dbg_ns("Failed to add synthetized RRSet (CNAME " "follow) to the tmp RRSets in response." "\n"); - knot_rrset_deep_free(&rrset, 1, 1); + knot_rrset_deep_free(&rrset, 1); cname_chain_free(&cname_chain); return ret; } @@ -888,7 +888,7 @@ static int ns_put_authority_soa(const knot_zone_contents_t *zone, /* Need to add it as temporary, so it get's freed. */ ret = knot_packet_add_tmp_rrset(resp, soa_copy); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&soa_copy, 1, 1); + knot_rrset_deep_free(&soa_copy, 1); return ret; } } diff --git a/src/libknot/packet/packet.c b/src/libknot/packet/packet.c index e518349b1fd176869587ba48bbbeab5cb2f8bd66..2bb3e5afde8a7f7e89499fee2d7de88354f85c98 100644 --- a/src/libknot/packet/packet.c +++ b/src/libknot/packet/packet.c @@ -167,7 +167,7 @@ dbg_packet_exec_verb( if (size - *pos < rdlength) { dbg_packet("Malformed RR: Not enough data to parse RR" " RDATA (size: %zu, position: %zu).\n", size, *pos); - knot_rrset_deep_free(&rrset, 1, 1); + knot_rrset_deep_free(&rrset, 1); return NULL; } @@ -184,7 +184,7 @@ dbg_packet_exec_verb( int ret = knot_packet_parse_rdata(rrset, wire, pos, size, rdlength); if (ret != KNOT_EOK) { dbg_packet("Malformed RR: Could not parse RDATA.\n"); - knot_rrset_deep_free(&rrset, 1, 1); + knot_rrset_deep_free(&rrset, 1); return NULL; } @@ -300,10 +300,10 @@ static int knot_packet_parse_rrs(const uint8_t *wire, size_t *pos, break; } else if (err == 1) { // merged, shallow data copy dbg_packet_detail("RRSet merged, freeing.\n"); - knot_rrset_deep_free(&rrset, 1, 0); + knot_rrset_deep_free(&rrset, 1); continue; } else if (err == 2) { // skipped - knot_rrset_deep_free(&rrset, 1, 1); + knot_rrset_deep_free(&rrset, 1); continue; } @@ -312,7 +312,7 @@ static int knot_packet_parse_rrs(const uint8_t *wire, size_t *pos, // remove the last RRSet from the list of RRSets // - just decrement the count --(*rrset_count); - knot_rrset_deep_free(&rrset, 1, 1); + knot_rrset_deep_free(&rrset, 1); break; } @@ -1024,7 +1024,7 @@ dbg_packet_exec( // function (for reallocating rrset array) // TODO sort out freeing, this WILL leak. knot_rrset_deep_free( - &(((knot_rrset_t **)(pkt->tmp_rrsets))[i]), 1, 1); + &(((knot_rrset_t **)(pkt->tmp_rrsets))[i]), 1); } } @@ -1179,7 +1179,7 @@ void knot_packet_dump(const knot_packet_t *packet) static int knot_packet_free_section(const knot_rrset_t **s, short count) { /*! \todo The API is really incompatible here. */ for (short i = 0; i < count; ++i) - knot_rrset_deep_free((knot_rrset_t **)s + i, 1, 1); + knot_rrset_deep_free((knot_rrset_t **)s + i, 1); return count; } diff --git a/src/libknot/rrset.c b/src/libknot/rrset.c index c2da9dda0a215ba73b42da85b476a0c886411d8b..0952036df6f68bc5d291dda9d2d5b141a6016210 100644 --- a/src/libknot/rrset.c +++ b/src/libknot/rrset.c @@ -1314,7 +1314,7 @@ int knot_rrset_deep_copy(const knot_rrset_t *from, knot_rrset_t **to) result = knot_rrset_deep_copy_no_sig(from->rrsigs, &(*to)->rrsigs); if (result != KNOT_EOK) { - knot_rrset_deep_free(to, 1, 0); + knot_rrset_deep_free(to, 1); } } @@ -1361,8 +1361,7 @@ void knot_rrset_free(knot_rrset_t **rrset) *rrset = NULL; } -void knot_rrset_deep_free(knot_rrset_t **rrset, int free_owner, - int free_rdata_dnames) +void knot_rrset_deep_free(knot_rrset_t **rrset, int free_owner) { /*! \bug The number of different frees in rrset is too damn high! */ if (rrset == NULL || *rrset == NULL) { @@ -1370,8 +1369,7 @@ void knot_rrset_deep_free(knot_rrset_t **rrset, int free_owner, } if ((*rrset)->rrsigs != NULL) { - knot_rrset_deep_free(&(*rrset)->rrsigs, free_owner, - 0 /* revelation: unused */); + knot_rrset_deep_free(&(*rrset)->rrsigs, free_owner); } free((*rrset)->rdata); @@ -1385,8 +1383,7 @@ void knot_rrset_deep_free(knot_rrset_t **rrset, int free_owner, *rrset = NULL; } -void knot_rrset_deep_free_no_sig(knot_rrset_t **rrset, int free_owner, - int free_rdata_dnames) +void knot_rrset_deep_free_no_sig(knot_rrset_t **rrset, int free_owner) { if (rrset == NULL || *rrset == NULL) { return; @@ -1546,7 +1543,7 @@ int knot_rrset_sort_rdata(knot_rrset_t *rrset) int result = knot_rrset_merge_sort(sorted, rrset, NULL, NULL); if (result != KNOT_EOK) { - knot_rrset_deep_free(&sorted, 1, 1); + knot_rrset_deep_free(&sorted, 1); return result; } @@ -1920,7 +1917,7 @@ int knot_rrset_remove_rr_using_rrset(knot_rrset_t *from, /* RR was removed, can be added to 'return' RRSet. */ ret = knot_rrset_add_rr_from_rrset(return_rr, what, i); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&return_rr, 0, 0); + knot_rrset_deep_free(&return_rr, 0); dbg_xfrin("xfr: Could not add RR (%s).\n", knot_strerror(ret)); return ret; @@ -1933,7 +1930,7 @@ int knot_rrset_remove_rr_using_rrset(knot_rrset_t *from, dbg_rrset("rrset: remove_using_rrset: " "RRSet removal failed (%s).\n", knot_strerror(ret)); - knot_rrset_deep_free(&return_rr, 0, 0); + knot_rrset_deep_free(&return_rr, 0); return ret; } } @@ -1947,7 +1944,7 @@ int knot_rrset_remove_rr_using_rrset_del(knot_rrset_t *from, { knot_rrset_t *rr_removed = NULL; int ret = knot_rrset_remove_rr_using_rrset(from, what, &rr_removed, 0); - knot_rrset_deep_free(&rr_removed, 1, 1); + knot_rrset_deep_free(&rr_removed, 1); return ret; for (uint16_t i = 0; i < what->rdata_count; ++i) { int ret = knot_rrset_remove_rr(from, what, i); diff --git a/src/libknot/rrset.h b/src/libknot/rrset.h index a94762be0b2639a58d59b79fb3906ab18b662ace..e77d51e227e040543f6cab26c3c0fcb7ed7a3fe5 100644 --- a/src/libknot/rrset.h +++ b/src/libknot/rrset.h @@ -330,11 +330,9 @@ void knot_rrset_free(knot_rrset_t **rrset); * present in RDATA. Set to 0 otherwise. (See * knot_rdata_deep_free().) */ -void knot_rrset_deep_free(knot_rrset_t **rrset, int free_owner, - int free_rdata_dnames); +void knot_rrset_deep_free(knot_rrset_t **rrset, int free_owner); -void knot_rrset_deep_free_no_sig(knot_rrset_t **rrset, int free_owner, - int free_rdata_dnames); +void knot_rrset_deep_free_no_sig(knot_rrset_t **rrset, int free_owner); int knot_rrset_to_wire(const knot_rrset_t *rrset, uint8_t *wire, size_t *size, size_t max_size, uint16_t *rr_count, void *comp_data); diff --git a/src/libknot/tsig-op.c b/src/libknot/tsig-op.c index 2d659f1a5393220045bebb2012301009bd61c799..482ebd5489db2b7e1f70e694109a44a2fbcea4bf 100644 --- a/src/libknot/tsig-op.c +++ b/src/libknot/tsig-op.c @@ -513,7 +513,7 @@ dbg_rrset_exec_detail( if (ret != KNOT_EOK) { dbg_tsig("TSIG: could not create wire or sign wire: %s\n", knot_strerror(ret)); - knot_rrset_deep_free(&tmp_tsig, 1, 1); + knot_rrset_deep_free(&tmp_tsig, 1); return ret; } @@ -531,11 +531,11 @@ dbg_rrset_exec_detail( if (ret != KNOT_EOK) { dbg_tsig("TSIG: rrset_to_wire = %s\n", knot_strerror(ret)); *digest_len = 0; - knot_rrset_deep_free(&tmp_tsig, 1, 1); + knot_rrset_deep_free(&tmp_tsig, 1); return ret; } - knot_rrset_deep_free(&tmp_tsig, 1, 1); + knot_rrset_deep_free(&tmp_tsig, 1); dbg_tsig("TSIG: written TSIG RR (wire len %zu)\n", tsig_wire_len); *msg_len += tsig_wire_len; @@ -584,7 +584,7 @@ int knot_tsig_sign_next(uint8_t *msg, size_t *msg_len, size_t msg_max_len, uint8_t *wire = malloc(wire_len); if (!wire) { ERR_ALLOC_FAILED; - knot_rrset_deep_free(&tmp_tsig, 1, 1); + knot_rrset_deep_free(&tmp_tsig, 1); return KNOT_ENOMEM; } memset(wire, 0, wire_len); @@ -613,13 +613,13 @@ int knot_tsig_sign_next(uint8_t *msg, size_t *msg_len, size_t msg_max_len, /* No matter how the function did, this data is no longer needed. */ free(wire); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&tmp_tsig, 1, 1); + knot_rrset_deep_free(&tmp_tsig, 1); *digest_len = 0; return ret; } if (digest_tmp_len > *digest_len) { - knot_rrset_deep_free(&tmp_tsig, 1, 1); + knot_rrset_deep_free(&tmp_tsig, 1); *digest_len = 0; return KNOT_ESPACE; } @@ -642,18 +642,18 @@ int knot_tsig_sign_next(uint8_t *msg, size_t *msg_len, size_t msg_max_len, &tsig_wire_size, msg_max_len - *msg_len, &rr_count, NULL); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&tmp_tsig, 1, 1); + knot_rrset_deep_free(&tmp_tsig, 1); *digest_len = 0; return ret; } /* This should not happen, at least one rr has to be converted. */ if (rr_count == 0) { - knot_rrset_deep_free(&tmp_tsig, 1, 1); + knot_rrset_deep_free(&tmp_tsig, 1); return KNOT_EINVAL; } - knot_rrset_deep_free(&tmp_tsig, 1, 1); + knot_rrset_deep_free(&tmp_tsig, 1); *msg_len += tsig_wire_size; uint16_t arcount = knot_wire_get_arcount(msg); @@ -875,12 +875,12 @@ int knot_tsig_add(uint8_t *msg, size_t *msg_len, size_t msg_max_len, &rr_count, NULL); if (ret != KNOT_EOK) { dbg_tsig("TSIG: rrset_to_wire = %s\n", knot_strerror(ret)); - knot_rrset_deep_free(&tmp_tsig, 1, 1); + knot_rrset_deep_free(&tmp_tsig, 1); return ret; } /* key_name already referenced in RRSet, no need to free separately. */ - knot_rrset_deep_free(&tmp_tsig, 1, 1); + knot_rrset_deep_free(&tmp_tsig, 1); *msg_len += tsig_wire_len; diff --git a/src/libknot/updates/changesets.c b/src/libknot/updates/changesets.c index 9394cc5f7170de8bc0d30990e596067140402087..ede0320eda76c5f9f9266f922f18463c44abec83 100644 --- a/src/libknot/updates/changesets.c +++ b/src/libknot/updates/changesets.c @@ -195,7 +195,7 @@ int knot_changeset_add_rr(knot_changeset_t *chgs, knot_rrset_t *rr, return KNOT_ERROR; } - knot_rrset_deep_free(&rr, 1, 0); + knot_rrset_deep_free(&rr, 1); return KNOT_EOK; } else { return knot_changeset_add_rrset(chgs, rr, part); @@ -339,7 +339,7 @@ int knot_changeset_merge(knot_changeset_t *ch1, knot_changeset_t *ch2) // Use soa_to and serial from the second changeset // soa_to from the first changeset is redundant, delete it - knot_rrset_deep_free(&ch1->soa_to, 1, 1); + knot_rrset_deep_free(&ch1->soa_to, 1); ch1->soa_to = ch2->soa_to; ch1->serial_to = ch2->serial_to; @@ -355,14 +355,14 @@ static void knot_free_changeset(knot_changeset_t *changeset) // Delete RRSets in lists, in case there are any left knot_rr_ln_t *rr_node; WALK_LIST(rr_node, changeset->add) { - knot_rrset_deep_free(&rr_node->rr, 1, 1); + knot_rrset_deep_free(&rr_node->rr, 1); } WALK_LIST(rr_node, changeset->remove) { - knot_rrset_deep_free(&rr_node->rr, 1, 1); + knot_rrset_deep_free(&rr_node->rr, 1); } - knot_rrset_deep_free(&changeset->soa_from, 1, 1); - knot_rrset_deep_free(&changeset->soa_to, 1, 1); + knot_rrset_deep_free(&changeset->soa_from, 1); + knot_rrset_deep_free(&changeset->soa_to, 1); // Delete binary data free(changeset->data); @@ -386,7 +386,7 @@ void knot_changesets_free(knot_changesets_t **changesets) // Free pool with RRs in sets / changes mp_delete((*changesets)->mmc_rr.ctx); - knot_rrset_deep_free(&(*changesets)->first_soa, 1, 1); + knot_rrset_deep_free(&(*changesets)->first_soa, 1); free((*changesets)->changes); free(*changesets); diff --git a/src/libknot/updates/ddns.c b/src/libknot/updates/ddns.c index e4575851d7350b7400acd1dddba8b0248c9d9b81..5dfed0658c241f666dd63f5e31efd50642fa8045 100644 --- a/src/libknot/updates/ddns.c +++ b/src/libknot/updates/ddns.c @@ -538,17 +538,17 @@ void knot_ddns_prereqs_free(knot_ddns_prereq_t **prereq) int i; for (i = 0; i < (*prereq)->exist_count; ++i) { - knot_rrset_deep_free(&(*prereq)->exist[i], 1, 1); + knot_rrset_deep_free(&(*prereq)->exist[i], 1); } free((*prereq)->exist); for (i = 0; i < (*prereq)->exist_full_count; ++i) { - knot_rrset_deep_free(&(*prereq)->exist_full[i], 1, 1); + knot_rrset_deep_free(&(*prereq)->exist_full[i], 1); } free((*prereq)->exist_full); for (i = 0; i < (*prereq)->not_exist_count; ++i) { - knot_rrset_deep_free(&(*prereq)->not_exist[i], 1, 1); + knot_rrset_deep_free(&(*prereq)->not_exist[i], 1); } free((*prereq)->not_exist); @@ -770,7 +770,7 @@ static int knot_ddns_process_add_cname(knot_node_t *node, if (from_chgset_count == 1) { /* Just delete the RRSet. */ - knot_rrset_deep_free(&(from_chgset[0]), 1, 1); + knot_rrset_deep_free(&(from_chgset[0]), 1); /* Okay, &(from_chgset[0]) is basically equal to just * from_chgset, but it's more clear this way that we are * deleting the first RRSet in the array ;-) @@ -792,7 +792,7 @@ static int knot_ddns_process_add_cname(knot_node_t *node, changeset, removed_copy, KNOT_CHANGESET_REMOVE); if (ret != KNOT_EOK) { knot_rrset_deep_free(&removed_copy, - 1, 1); + 1); dbg_ddns("Failed to add removed CNAME " "to changeset: %s\n", knot_strerror(ret)); @@ -896,7 +896,7 @@ static int knot_ddns_add_rr_new_normal(knot_node_t *node, knot_rrset_t *rr_copy, int ret = knot_changes_add_rrset(changes, rr_copy, KNOT_CHANGES_NEW); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&rr_copy, 1, 1); + knot_rrset_deep_free(&rr_copy, 1); dbg_ddns("Failed to store copy of the added RR: " "%s\n", knot_strerror(ret)); return ret; @@ -947,7 +947,7 @@ static int knot_ddns_add_rr_merge_normal(knot_rrset_t *node_rrset_copy, return ret; } - knot_rrset_deep_free(rr_copy, 1, 0); + knot_rrset_deep_free(rr_copy, 1); if (rdata_in_copy == deleted_rrs) { @@ -1022,8 +1022,8 @@ dbg_ddns_exec_detail( if (ret < KNOT_EOK) { dbg_ddns("Failed to merge UPDATE RR to node RRSet.\n"); - knot_rrset_deep_free(rr_copy, 1, 1); - knot_rrset_deep_free(&node_rrset_copy, 1, 1); + knot_rrset_deep_free(rr_copy, 1); + knot_rrset_deep_free(&node_rrset_copy, 1); return ret; } @@ -1033,7 +1033,7 @@ dbg_ddns_exec_detail( KNOT_CHANGES_NEW); if (r != KNOT_EOK) { dbg_ddns("Failed to store RRSet copy to 'changes'\n"); - knot_rrset_deep_free(&node_rrset_copy, 1, 1); + knot_rrset_deep_free(&node_rrset_copy, 1); return r; } } @@ -1085,13 +1085,13 @@ static int knot_ddns_add_rr_to_chgset(const knot_rrset_t *rr, ret = knot_changeset_add_rrset(changeset, chgset_rr, KNOT_CHANGESET_ADD); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&chgset_rr, 1, 1); + knot_rrset_deep_free(&chgset_rr, 1); dbg_ddns("Failed to add RR to changeset: %s.\n", knot_strerror(ret)); return ret; } } else { - knot_rrset_deep_free(&chgset_rr, 1, 1); + knot_rrset_deep_free(&chgset_rr, 1); } return KNOT_EOK; @@ -1304,7 +1304,7 @@ static int knot_ddns_process_rem_rr(const knot_rrset_t *rr, */ ret = knot_changes_add_rrset(changes, rr_remove, KNOT_CHANGES_OLD); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&rr_remove, 1, 1); + knot_rrset_deep_free(&rr_remove, 1); dbg_ddns_detail("Failed to add data to changes.\n"); return ret; } @@ -1371,7 +1371,7 @@ static int knot_ddns_process_rem_rr(const knot_rrset_t *rr, if (from_chgset_count == 1) { /* Just delete the RRSet. */ - knot_rrset_deep_free(&(from_chgset[0]), 1, 1); + knot_rrset_deep_free(&(from_chgset[0]), 1); /* Finish processing, no adding to changeset. */ free(from_chgset); @@ -1399,7 +1399,7 @@ static int knot_ddns_process_rem_rr(const knot_rrset_t *rr, if (ret != KNOT_EOK) { dbg_ddns("Failed to store the RRSet copy to changeset: %s.\n", knot_strerror(ret)); - knot_rrset_deep_free(&to_chgset, 1, 1); + knot_rrset_deep_free(&to_chgset, 1); return ret; } @@ -1521,7 +1521,7 @@ static int knot_ddns_process_rem_rrset(const knot_rrset_t *rrset, dbg_ddns("Failed to copy the removed RRSet: %s.\n", knot_strerror(ret)); for (int j = 0; j < i; ++j) { - knot_rrset_deep_free(&to_chgset[j], 1, 1); + knot_rrset_deep_free(&to_chgset[j], 1); } free(to_chgset); free(removed); @@ -1554,7 +1554,7 @@ static int knot_ddns_process_rem_rrset(const knot_rrset_t *rrset, dbg_ddns("Failed to remove possible redundant RRs from ADD " "section: %s.\n", knot_strerror(ret)); for (int i = 0; i < removed_count; ++i) { - knot_rrset_deep_free(&to_chgset[i], 1, 1); + knot_rrset_deep_free(&to_chgset[i], 1); } free(from_chgset); free(to_chgset); @@ -1586,7 +1586,7 @@ static int knot_ddns_process_rem_rrset(const knot_rrset_t *rrset, /* The array is cleared, we may delete the redundant RRs. */ for (int i = 0; i < from_chgset_count; ++i) { - knot_rrset_deep_free(&from_chgset[i], 1, 1); + knot_rrset_deep_free(&from_chgset[i], 1); } free(from_chgset); @@ -1600,7 +1600,7 @@ static int knot_ddns_process_rem_rrset(const knot_rrset_t *rrset, dbg_ddns("Failed to store the RRSet copy to changeset: " "%s.\n", knot_strerror(ret)); for (int j = i; j < removed_count; ++j) { - knot_rrset_deep_free(&to_chgset[j], 1, 1); + knot_rrset_deep_free(&to_chgset[j], 1); } free(to_chgset); return ret; diff --git a/src/libknot/updates/xfr-in.c b/src/libknot/updates/xfr-in.c index 9dc7a984c4e15368d0515db860f79a166189335b..86823d528b4bcacd33e7e3fc4312eb7a328aa5e1 100644 --- a/src/libknot/updates/xfr-in.c +++ b/src/libknot/updates/xfr-in.c @@ -262,7 +262,7 @@ static int xfrin_process_orphan_rrsigs(knot_zone_contents_t *zone, &rrset, &node, KNOT_RRSET_DUPL_MERGE); if (ret > 0) { - knot_rrset_deep_free(&(*last)->rrsig, 1, 0); + knot_rrset_deep_free(&(*last)->rrsig, 1); } else if (ret == KNOT_ENONODE) { // Nothing to cover - print warning char *name = knot_dname_to_str((*last)->rrsig->owner); @@ -277,7 +277,7 @@ static int xfrin_process_orphan_rrsigs(knot_zone_contents_t *zone, free(name); // discard RRSIG - knot_rrset_deep_free(&(*last)->rrsig, 1, 1); + knot_rrset_deep_free(&(*last)->rrsig, 1); } else if (ret != KNOT_EOK) { dbg_xfrin("Failed to add orphan RRSIG to zone.\n"); return ret; @@ -321,7 +321,7 @@ void xfrin_free_orphan_rrsigs(xfrin_orphan_rrsig_t **rrsigs) xfrin_orphan_rrsig_t *prev = r; r = r->next; if (prev->rrsig != NULL) { - knot_rrset_deep_free(&prev->rrsig, 1, 1); + knot_rrset_deep_free(&prev->rrsig, 1); } free(prev); } @@ -396,7 +396,7 @@ static int xfrin_check_tsig(knot_packet_t *packet, knot_ns_xfr_t *xfr, if (ret != KNOT_EOK) { /* No need to check TSIG error * here, propagate and check elsewhere.*/ - knot_rrset_deep_free(&tsig, 1, 1); + knot_rrset_deep_free(&tsig, 1); return ret; } @@ -406,7 +406,7 @@ static int xfrin_check_tsig(knot_packet_t *packet, knot_ns_xfr_t *xfr, // Extract the digest from the TSIG RDATA and store it. if (xfr->digest_max_size < tsig_rdata_mac_length(tsig)) { - knot_rrset_deep_free(&tsig, 1, 1); + knot_rrset_deep_free(&tsig, 1); return KNOT_ESPACE; } memcpy(xfr->digest, tsig_rdata_mac(tsig), @@ -422,11 +422,11 @@ static int xfrin_check_tsig(knot_packet_t *packet, knot_ns_xfr_t *xfr, } } else if (tsig != NULL) { // TSIG where it should not be - knot_rrset_deep_free(&tsig, 1, 1); + knot_rrset_deep_free(&tsig, 1); return KNOT_EMALF; } - knot_rrset_deep_free(&tsig, 1, 1); + knot_rrset_deep_free(&tsig, 1); return KNOT_EOK; } @@ -511,7 +511,7 @@ int xfrin_process_axfr_packet(knot_ns_xfr_t *xfr) "Answer is not a SOA RR.\n"); knot_packet_free(&packet); knot_node_free(&node); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); /*! \todo Cleanup. */ return KNOT_EMALF; } @@ -522,7 +522,7 @@ int xfrin_process_axfr_packet(knot_ns_xfr_t *xfr) dbg_xfrin("Invalid packet in sequence, ignoring.\n"); knot_packet_free(&packet); knot_node_free(&node); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); return KNOT_EOK; } @@ -543,7 +543,7 @@ dbg_xfrin_exec( /*! \todo Cleanup. */ knot_packet_free(&packet); knot_node_free(&node); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); return KNOT_EMALF; } @@ -551,7 +551,7 @@ dbg_xfrin_exec( if (node == NULL) { dbg_xfrin("Failed to create new node.\n"); knot_packet_free(&packet); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); return KNOT_ENOMEM; } @@ -564,7 +564,7 @@ dbg_xfrin_exec( dbg_xfrin("Failed to create new constr. zone.\n"); knot_packet_free(&packet); knot_node_free(&node); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); return KNOT_ENOMEM; } @@ -576,7 +576,7 @@ dbg_xfrin_exec( dbg_xfrin("Failed to create new zone.\n"); knot_packet_free(&packet); knot_node_free(&node); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); /*! \todo Cleanup. */ return KNOT_ENOMEM; } @@ -592,13 +592,13 @@ dbg_xfrin_exec( knot_strerror(ret)); knot_packet_free(&packet); knot_node_free(&node); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); /*! \todo Cleanup. */ return KNOT_ERROR; } else if (ret > 0) { dbg_xfrin("Merged SOA RRSet.\n"); // merged, free the RRSet - knot_rrset_deep_free(&rr, 1, 0); + knot_rrset_deep_free(&rr, 1); } // take next RR @@ -617,7 +617,7 @@ dbg_xfrin_exec( // Out-of-zone data xfrin_log_error(xfr->zone->name, rr->owner, KNOT_EOUTOFZONE); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); ret = knot_packet_parse_next_rr_answer(packet, &rr); continue; } @@ -661,7 +661,7 @@ dbg_xfrin_exec_detail( dbg_xfrin_verb("xfrin_check_tsig() returned %d\n", ret); knot_packet_free(&packet); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); if (ret != KNOT_EOK) { /*! \todo [TSIG] Handle TSIG errors. */ @@ -700,19 +700,19 @@ dbg_xfrin_exec_detail( if (ret > 0) { dbg_xfrin_detail("Merged RRSIGs.\n"); - knot_rrset_deep_free(&rr, 1, 0); + knot_rrset_deep_free(&rr, 1); } else if (ret != KNOT_EOK) { dbg_xfrin("Failed to save orphan" " RRSIGs.\n"); knot_packet_free(&packet); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); return ret; } } else if (ret < 0) { dbg_xfrin("Failed to add RRSIGs (%s).\n", knot_strerror(ret)); knot_packet_free(&packet); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); return KNOT_ERROR; /*! \todo Other error code. */ } else if (ret == 1) { assert(node != NULL); @@ -723,7 +723,7 @@ dbg_xfrin_exec_verb( free(name); ); in_zone = 1; - knot_rrset_deep_free(&rr, 1, 0); + knot_rrset_deep_free(&rr, 1); } else if (ret == 2) { // should not happen assert(0); @@ -751,7 +751,7 @@ dbg_xfrin_exec_verb( dbg_xfrin("TSIG in Answer section.\n"); knot_packet_free(&packet); knot_node_free(&node); // ??? - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); return KNOT_EMALF; } @@ -782,7 +782,7 @@ dbg_xfrin_exec_verb( if (node == NULL) { dbg_xfrin("Failed to create new node.\n"); knot_packet_free(&packet); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); return KNOT_ENOMEM; } dbg_xfrin_detail("Created new node for the record.\n"); @@ -794,7 +794,7 @@ dbg_xfrin_exec_verb( knot_strerror(ret)); knot_packet_free(&packet); knot_node_free(&node); // ??? - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); return KNOT_ERROR; } else if (ret > 0) { // should not happen, this is new node @@ -807,7 +807,7 @@ dbg_xfrin_exec_verb( if (ret != KNOT_EOK) { // Fatal error, free packet knot_packet_free(&packet); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); knot_node_free(&node); return ret; } @@ -825,7 +825,7 @@ dbg_xfrin_exec_verb( return KNOT_ERROR; } else if (ret > 0) { // merged, free the RRSet - knot_rrset_deep_free(&rr, 1, 0); + knot_rrset_deep_free(&rr, 1); } } @@ -847,7 +847,7 @@ dbg_xfrin_exec_verb( knot_node_free(&node); } - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); return KNOT_EMALF; } @@ -863,7 +863,7 @@ dbg_xfrin_exec_verb( knot_strerror(ret)); knot_packet_free(&packet); knot_node_free(&node); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); return ret; } } @@ -972,7 +972,7 @@ int xfrin_process_ixfr_packet(knot_ns_xfr_t *xfr) ret = knot_changesets_init(chs, KNOT_CHANGESET_TYPE_IXFR); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); knot_packet_free(&packet); return ret; } @@ -980,7 +980,7 @@ int xfrin_process_ixfr_packet(knot_ns_xfr_t *xfr) // the first RR must be a SOA if (knot_rrset_type(rr) != KNOT_RRTYPE_SOA) { dbg_xfrin("First RR is not a SOA RR!\n"); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); ret = KNOT_EMALF; goto cleanup; } @@ -1019,7 +1019,7 @@ int xfrin_process_ixfr_packet(knot_ns_xfr_t *xfr) knot_packet_free(&packet); return XFRIN_RES_SOA_ONLY; } else if (knot_rrset_type(rr) != KNOT_RRTYPE_SOA) { - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); knot_packet_free(&packet); dbg_xfrin("Fallback to AXFR.\n"); ret = XFRIN_RES_FALLBACK; @@ -1028,7 +1028,7 @@ int xfrin_process_ixfr_packet(knot_ns_xfr_t *xfr) } else { if ((*chs)->first_soa == NULL) { dbg_xfrin("Changesets don't contain SOA first!\n"); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); ret = KNOT_EINVAL; goto cleanup; } @@ -1076,7 +1076,7 @@ int xfrin_process_ixfr_packet(knot_ns_xfr_t *xfr) dbg_xfrin_detail("State is not -1, deciding...\n"); // there should be at least one started changeset right now if (EMPTY_LIST((*chs)->sets)) { - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); ret = KNOT_EMALF; goto cleanup; } @@ -1108,7 +1108,7 @@ dbg_xfrin_exec_verb( // out-of-zone domain xfrin_log_error(xfr->zone->name, rr->owner, KNOT_EOUTOFZONE); - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); // Skip this rr ret = knot_packet_parse_next_rr_answer(packet, &rr); continue; @@ -1125,7 +1125,7 @@ dbg_xfrin_exec_verb( dbg_xfrin_verb("RR type: %u\n", knot_rrset_type(rr)); ret = KNOT_EMALF; - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); goto cleanup; } @@ -1138,7 +1138,7 @@ dbg_xfrin_exec_verb( ret = xfrin_check_tsig(packet, xfr, 1); // last SOA, discard and end - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); knot_packet_free(&packet); /*! \note [TSIG] If TSIG validates, consider @@ -1155,13 +1155,13 @@ dbg_xfrin_exec_verb( ret = KNOT_ESPACE; if (ret != KNOT_EOK) { - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); goto cleanup; } cur = knot_changesets_create_changeset(*chs); if (cur == NULL) { - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); goto cleanup; } knot_changeset_add_soa(cur, rr, KNOT_CHANGESET_REMOVE); @@ -1186,7 +1186,7 @@ dbg_xfrin_exec_verb( ret = knot_changeset_add_rr(cur, rr, KNOT_CHANGESET_REMOVE); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); goto cleanup; } } @@ -1207,7 +1207,7 @@ dbg_xfrin_exec_verb( ret = knot_changeset_add_rr(cur, rr, KNOT_CHANGESET_ADD); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&rr, 1, 1); + knot_rrset_deep_free(&rr, 1); goto cleanup; } } @@ -1286,7 +1286,7 @@ int xfrin_copy_old_rrset(knot_rrset_t *old, knot_rrset_t **copy, if (save_new) { ret = knot_changes_add_rrset(changes, *copy, KNOT_CHANGES_NEW); if (ret != KNOT_EOK) { - knot_rrset_deep_free(copy, 1, 1); + knot_rrset_deep_free(copy, 1); return ret; } if ((*copy)->rrsigs != NULL) { @@ -1294,7 +1294,7 @@ int xfrin_copy_old_rrset(knot_rrset_t *old, knot_rrset_t **copy, ret = knot_changes_add_rrset(changes, (*copy)->rrsigs, KNOT_CHANGES_NEW); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&((*copy)->rrsigs), 1, 1); + knot_rrset_deep_free(&((*copy)->rrsigs), 1); return ret; } } @@ -1453,7 +1453,7 @@ static int xfrin_apply_remove_rrsigs(knot_changes_t *changes, // connect the RDATA to the list of old RDATA ret = knot_changes_add_rrset(changes, rr_removed, KNOT_CHANGES_OLD); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&rr_removed, 1, 1); + knot_rrset_deep_free(&rr_removed, 1); return ret; } @@ -2194,7 +2194,7 @@ void xfrin_cleanup_successful_update(knot_changes_t *changes) knot_rr_ln_t *rr_node = NULL; WALK_LIST(rr_node, changes->old_rrsets) { knot_rrset_t *rrset = rr_node->rr; - knot_rrset_deep_free_no_sig(&rrset, 1, 1); + knot_rrset_deep_free_no_sig(&rrset, 1); } // Free old nodes @@ -2308,7 +2308,7 @@ void xfrin_rollback_update(knot_zone_contents_t *old_contents, knot_rr_ln_t *rr_node = NULL; WALK_LIST(rr_node, changes->new_rrsets) { knot_rrset_t *rrset = rr_node->rr; - knot_rrset_deep_free_no_sig(&rrset, 1, 1); + knot_rrset_deep_free_no_sig(&rrset, 1); } xfrin_cleanup_failed_update(old_contents, new_contents); @@ -2521,7 +2521,7 @@ dbg_xfrin_exec_detail( // already stored in the new RRSets list // just delete the add RRSet, but without RDATA // DNAMES as these were merged to the copied RRSet - knot_rrset_deep_free(&rr, 1, 0); + knot_rrset_deep_free(&rr, 1); rem_node((node_t *)rr_node); } else if (ret == 3) { // the RRSet was used and both RRSet and RDATA diff --git a/src/libknot/zone/node.c b/src/libknot/zone/node.c index 9affaff50667b3893b7490204f92d23939551eef..3c81906108b77523f2622a0ce7f0df64acacc990 100644 --- a/src/libknot/zone/node.c +++ b/src/libknot/zone/node.c @@ -642,7 +642,7 @@ void knot_node_free_rrsets(knot_node_t *node, int free_rdata_dnames) knot_rrset_t **rrs = node->rrset_tree; for (uint16_t i = 0; i < node->rrset_count; ++i) { - knot_rrset_deep_free(&(rrs[i]), 1, free_rdata_dnames); + knot_rrset_deep_free(&(rrs[i]), 1); } } diff --git a/src/libknot/zone/zone-diff.c b/src/libknot/zone/zone-diff.c index f2e0234c3e1307e49b2f173da55bd8588129114a..860d9e26f2cc92ef34fcccf6a63d2180f9a6d326 100644 --- a/src/libknot/zone/zone-diff.c +++ b/src/libknot/zone/zone-diff.c @@ -165,7 +165,7 @@ static int knot_zone_diff_changeset_add_rrset(knot_changeset_t *changeset, KNOT_CHANGESET_ADD); if (ret != KNOT_EOK) { /* We have to free the copy now! */ - knot_rrset_deep_free(&rrset_copy, 1, 1); + knot_rrset_deep_free(&rrset_copy, 1); dbg_zonediff("zone_diff: add_rrset: Could not add RRSet. " "Reason: %s.\n", knot_strerror(ret)); return ret; @@ -209,7 +209,7 @@ static int knot_zone_diff_changeset_remove_rrset(knot_changeset_t *changeset, KNOT_CHANGESET_REMOVE); if (ret != KNOT_EOK) { /* We have to free the copy now. */ - knot_rrset_deep_free(&rrset_copy, 1, 1); + knot_rrset_deep_free(&rrset_copy, 1); dbg_zonediff("zone_diff: remove_rrset: Could not remove RRSet. " "Reason: %s.\n", knot_strerror(ret)); return ret; @@ -458,14 +458,14 @@ static int knot_zone_diff_rdata(const knot_rrset_t *rrset1, int ret = knot_zone_diff_changeset_remove_rrset(changeset, to_remove); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&to_remove, 1, 1); + knot_rrset_deep_free(&to_remove, 1); dbg_zonediff("zone_diff: diff_rdata: Could not remove RRs. " "Error: %s.\n", knot_strerror(ret)); return ret; } /* Copy was made in add_rrset function, we can free now. */ - knot_rrset_deep_free(&to_remove, 1, 1); + knot_rrset_deep_free(&to_remove, 1); /* Get RRs to add to zone. */ // TODO move to extra function, same for remove knot_rrset_t *to_add = NULL; @@ -523,14 +523,14 @@ static int knot_zone_diff_rdata(const knot_rrset_t *rrset1, ret = knot_zone_diff_changeset_add_rrset(changeset, to_add); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&to_add, 1, 1); + knot_rrset_deep_free(&to_add, 1); dbg_zonediff("zone_diff: diff_rdata: Could not remove RRs. " "Error: %s.\n", knot_strerror(ret)); return ret; } /* Copy was made in add_rrset function, we can free now. */ - knot_rrset_deep_free(&to_add, 1, 1); + knot_rrset_deep_free(&to_add, 1); return KNOT_EOK; } diff --git a/src/utils/dig/dig_exec.c b/src/utils/dig/dig_exec.c index 2d5aacc4f0b592b2f3c4eafbc5228beb4e1e9129..617014f72dd2b3e051ca441ee167fcdc06a2a954 100644 --- a/src/utils/dig/dig_exec.c +++ b/src/utils/dig/dig_exec.c @@ -117,7 +117,7 @@ static knot_packet_t* create_query_packet(const query_t *query, ret = knot_rrset_rdata_from_wire_one(soa, wire, &pos, sizeof(wire), sizeof(wire)); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&soa, 1, 1); + knot_rrset_deep_free(&soa, 1); knot_packet_free(&packet); return NULL; } @@ -128,7 +128,7 @@ static knot_packet_t* create_query_packet(const query_t *query, // Add authority section. ret = knot_query_add_rrset_authority(packet, soa); if (ret != KNOT_EOK) { - knot_rrset_deep_free(&soa, 1, 1); + knot_rrset_deep_free(&soa, 1); knot_packet_free(&packet); return NULL; }