From: Shane Kerr Date: Wed, 3 Oct 2007 12:50:11 +0000 (+0000) Subject: Avoid infinite loop where we reschedule for the current second by X-Git-Tag: v4_0_0b1~20 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c886c298368815f1456572ec370c5be05590858d;p=thirdparty%2Fdhcp.git Avoid infinite loop where we reschedule for the current second by adding one. We might expire a lease a second late, but that's okay. See RT ticket #17112 for more. --- diff --git a/RELNOTES b/RELNOTES index ecee1c59f..fb8944b66 100644 --- a/RELNOTES +++ b/RELNOTES @@ -65,6 +65,9 @@ suggested fixes to . but would not return the address in response to a REQUEST. Thanks to Dennis Kou for finding the bug. +- Fixed an error causing the server to lock up on lease expiration, + reported independently by Jothilingam Vasu and Dennis Kou. + Changes since 4.0.0a2 - Fix for startup where there are no IPv4 addresses on an interface. diff --git a/server/mdb6.c b/server/mdb6.c index 13764a5fe..632dccd34 100644 --- a/server/mdb6.c +++ b/server/mdb6.c @@ -1046,7 +1046,7 @@ schedule_lease_timeout(struct ipv6_pool *pool) { tmp = (struct iaaddr *)isc_heap_element(pool->active_timeouts, 1); if (tmp->valid_lifetime_end_time < next_timeout) { - next_timeout = tmp->valid_lifetime_end_time; + next_timeout = tmp->valid_lifetime_end_time + 1; } }