From 0ef9a46e3360cd5e9e5c4a8feb50afbff0a25c79 Mon Sep 17 00:00:00 2001 From: Shawn Routhier Date: Fri, 30 Dec 2011 23:08:41 +0000 Subject: 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 --- server/failover.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'server/failover.c') 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); -- cgit v1.2.1