diff options
Diffstat (limited to 'networking/udhcp/files.c')
-rw-r--r-- | networking/udhcp/files.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/networking/udhcp/files.c b/networking/udhcp/files.c index 6a93bd0e2..043a95bb0 100644 --- a/networking/udhcp/files.c +++ b/networking/udhcp/files.c | |||
@@ -396,6 +396,7 @@ void write_leases(void) | |||
396 | close(fp); | 396 | close(fp); |
397 | 397 | ||
398 | if (server_config.notify_file) { | 398 | if (server_config.notify_file) { |
399 | // TODO: vfork-based child creation | ||
399 | char *cmd = xasprintf("%s %s", server_config.notify_file, server_config.lease_file); | 400 | char *cmd = xasprintf("%s %s", server_config.notify_file, server_config.lease_file); |
400 | system(cmd); | 401 | system(cmd); |
401 | free(cmd); | 402 | free(cmd); |
@@ -406,7 +407,7 @@ void write_leases(void) | |||
406 | void read_leases(const char *file) | 407 | void read_leases(const char *file) |
407 | { | 408 | { |
408 | int fp; | 409 | int fp; |
409 | unsigned int i = 0; | 410 | unsigned i; |
410 | struct dhcpOfferedAddr lease; | 411 | struct dhcpOfferedAddr lease; |
411 | 412 | ||
412 | fp = open_or_warn(file, O_RDONLY); | 413 | fp = open_or_warn(file, O_RDONLY); |
@@ -414,6 +415,7 @@ void read_leases(const char *file) | |||
414 | return; | 415 | return; |
415 | } | 416 | } |
416 | 417 | ||
418 | i = 0; | ||
417 | while (i < server_config.max_leases | 419 | while (i < server_config.max_leases |
418 | && full_read(fp, &lease, sizeof(lease)) == sizeof(lease) | 420 | && full_read(fp, &lease, sizeof(lease)) == sizeof(lease) |
419 | ) { | 421 | ) { |
@@ -422,7 +424,7 @@ void read_leases(const char *file) | |||
422 | if (y >= server_config.start_ip && y <= server_config.end_ip) { | 424 | if (y >= server_config.start_ip && y <= server_config.end_ip) { |
423 | lease.expires = ntohl(lease.expires); | 425 | lease.expires = ntohl(lease.expires); |
424 | if (!server_config.remaining) | 426 | if (!server_config.remaining) |
425 | lease.expires -= time(0); | 427 | lease.expires -= time(NULL); |
426 | if (!(add_lease(lease.chaddr, lease.yiaddr, lease.expires))) { | 428 | if (!(add_lease(lease.chaddr, lease.yiaddr, lease.expires))) { |
427 | bb_error_msg("too many leases while loading %s", file); | 429 | bb_error_msg("too many leases while loading %s", file); |
428 | break; | 430 | break; |