diff options
Diffstat (limited to 'networking/udhcp/leases.c')
-rw-r--r-- | networking/udhcp/leases.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/networking/udhcp/leases.c b/networking/udhcp/leases.c index 844bb60b1..411b74962 100644 --- a/networking/udhcp/leases.c +++ b/networking/udhcp/leases.c | |||
@@ -17,7 +17,9 @@ static struct dyn_lease *oldest_expired_lease(void) | |||
17 | /* Unexpired leases have g_leases[i].expires >= current time | 17 | /* Unexpired leases have g_leases[i].expires >= current time |
18 | * and therefore can't ever match */ | 18 | * and therefore can't ever match */ |
19 | for (i = 0; i < server_config.max_leases; i++) { | 19 | for (i = 0; i < server_config.max_leases; i++) { |
20 | if (g_leases[i].expires < oldest_time) { | 20 | if (g_leases[i].expires == 0 /* empty entry */ |
21 | || g_leases[i].expires < oldest_time | ||
22 | ) { | ||
21 | oldest_time = g_leases[i].expires; | 23 | oldest_time = g_leases[i].expires; |
22 | oldest_lease = &g_leases[i]; | 24 | oldest_lease = &g_leases[i]; |
23 | } | 25 | } |