summaryrefslogtreecommitdiffstats
path: root/usr.sbin/nsd/server.c
diff options
context:
space:
mode:
authorjakob <jakob@openbsd.org>2011-05-21 18:29:56 +0000
committerjakob <jakob@openbsd.org>2011-05-21 18:29:56 +0000
commit3b0b19f756de5f0aaf61017215350bab14d91d0b (patch)
treeec0930be1779df08f95e7e3cf77d0f71dc2933df /usr.sbin/nsd/server.c
parentNSD v3.2.8 (diff)
downloadwireguard-openbsd-3b0b19f756de5f0aaf61017215350bab14d91d0b.tar.xz
wireguard-openbsd-3b0b19f756de5f0aaf61017215350bab14d91d0b.zip
resolve conflicts and regen configure using autoconf-2.65
Diffstat (limited to 'usr.sbin/nsd/server.c')
-rw-r--r--usr.sbin/nsd/server.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/usr.sbin/nsd/server.c b/usr.sbin/nsd/server.c
index 6640a653aa8..28ba14353c4 100644
--- a/usr.sbin/nsd/server.c
+++ b/usr.sbin/nsd/server.c
@@ -1,7 +1,7 @@
/*
* server.c -- nsd(8) network input/output
*
- * Copyright (c) 2001-2006, NLnet Labs. All rights reserved.
+ * Copyright (c) 2001-2011, NLnet Labs. All rights reserved.
*
* See LICENSE for the license.
*
@@ -325,6 +325,12 @@ initialize_dname_compression_tables(struct nsd *nsd)
size_t needed = domain_table_count(nsd->db->domains) + 1;
needed += EXTRA_DOMAIN_NUMBERS;
if(compression_table_capacity < needed) {
+ if(compressed_dname_offsets) {
+ region_remove_cleanup(nsd->db->region,
+ cleanup_dname_compression_tables,
+ compressed_dname_offsets);
+ free(compressed_dname_offsets);
+ }
compressed_dname_offsets = (uint16_t *) xalloc(
needed * sizeof(uint16_t));
region_add_cleanup(nsd->db->region, cleanup_dname_compression_tables,
@@ -1191,6 +1197,7 @@ server_main(struct nsd *nsd)
}
fsync(xfrd_listener.fd);
close(xfrd_listener.fd);
+ (void)kill(xfrd_pid, SIGTERM);
}
namedb_fd_close(nsd->db);