diff options
author | Shawn Routhier <sar@isc.org> | 2011-12-30 23:08:41 +0000 |
---|---|---|
committer | Shawn Routhier <sar@isc.org> | 2011-12-30 23:08:41 +0000 |
commit | 0ef9a46e3360cd5e9e5c4a8feb50afbff0a25c79 (patch) | |
tree | 16b15bca27e0a95d1218cc6d25600f16888405a1 /server/failover.c | |
parent | c535de44110961932b603f152f38ec432b24c422 (diff) | |
download | isc-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.c | 2 |
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); |