summaryrefslogtreecommitdiff
path: root/server/failover.c
diff options
context:
space:
mode:
authorShawn Routhier <sar@isc.org>2011-12-30 23:08:41 +0000
committerShawn Routhier <sar@isc.org>2011-12-30 23:08:41 +0000
commit0ef9a46e3360cd5e9e5c4a8feb50afbff0a25c79 (patch)
tree16b15bca27e0a95d1218cc6d25600f16888405a1 /server/failover.c
parentc535de44110961932b603f152f38ec432b24c422 (diff)
downloadisc-dhcp-0ef9a46e3360cd5e9e5c4a8feb50afbff0a25c79.tar.gz
Modify the DDNS handling code. In a previous patch we added logging
code to the DDNS handling. This code included a bug that caused it to attempt to dereference a NULL pointer and eventually segfault. While reviewing the code as we addressed this problem, we determined that some of the updates to the lease structures would not work as planned since the structures being updated were in the process of being freed: these updates were removed. In addition we removed an incorrect call to the DDNS removal function that could cause a failure during the removal of DDNS information from the DNS server. Thanks to Jasper Jongmans for reporting this issue. [ISC-Bugs #27078] CVE: CVE-2011-4868
Diffstat (limited to 'server/failover.c')
-rw-r--r--server/failover.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/server/failover.c b/server/failover.c
index 97e7d734..26be290c 100644
--- a/server/failover.c
+++ b/server/failover.c
@@ -5218,7 +5218,7 @@ isc_result_t dhcp_failover_process_bind_update (dhcp_failover_state_t *state,
*/
if (msg->binding_status == FTS_ACTIVE &&
(chaddr_changed || ident_changed)) {
- ddns_removals(lease, NULL, NULL);
+ ddns_removals(lease, NULL, NULL, ISC_FALSE);
if (lease->scope != NULL)
binding_scope_dereference(&lease->scope, MDL);