summaryrefslogtreecommitdiffstats
path: root/usr.sbin/nsd/namedb.c
diff options
context:
space:
mode:
authorsthen <sthen@openbsd.org>2018-03-06 21:01:56 +0000
committersthen <sthen@openbsd.org>2018-03-06 21:01:56 +0000
commitb90bb40ec7347ca2da354e4585275903879368db (patch)
tree5073bf2a9be3f17a9aacd721c909ddf791786454 /usr.sbin/nsd/namedb.c
parentFix a small mistake from r1.229 causing sysctl(8) to print "newval -> newval" (diff)
downloadwireguard-openbsd-b90bb40ec7347ca2da354e4585275903879368db.tar.xz
wireguard-openbsd-b90bb40ec7347ca2da354e4585275903879368db.zip
update to NSD 4.1.20, ok florian@
- Fix memory leak in zone file read of unknown rr formatted RRs. - Fix memory leak when rehashing nsec3 after axfr or zonefile read, in the selectively allocated precompiled nsec3 hashes.
Diffstat (limited to 'usr.sbin/nsd/namedb.c')
-rw-r--r--usr.sbin/nsd/namedb.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/usr.sbin/nsd/namedb.c b/usr.sbin/nsd/namedb.c
index bc7690d87b6..4528b6e4f15 100644
--- a/usr.sbin/nsd/namedb.c
+++ b/usr.sbin/nsd/namedb.c
@@ -242,6 +242,16 @@ do_deldomain(namedb_type* db, domain_type* domain)
if(domain->nsec3->ds_parent_hash && domain->nsec3->ds_parent_hash->node.key)
zone_del_domain_in_hash_tree(nsec3_tree_dszone(db, domain)
->dshashtree, &domain->nsec3->ds_parent_hash->node);
+ if(domain->nsec3->hash_wc) {
+ region_recycle(db->domains->region,
+ domain->nsec3->hash_wc,
+ sizeof(nsec3_hash_wc_node_type));
+ }
+ if(domain->nsec3->ds_parent_hash) {
+ region_recycle(db->domains->region,
+ domain->nsec3->ds_parent_hash,
+ sizeof(nsec3_hash_node_type));
+ }
region_recycle(db->domains->region, domain->nsec3,
sizeof(struct nsec3_domain_data));
}