From 83f1dd956ce7cc9ff3f136610824d358a54e7840 Mon Sep 17 00:00:00 2001 From: Thomas Markwalder Date: Mon, 27 Nov 2017 13:30:27 -0500 Subject: [PATCH] [master] Corrected dhclient command line parsing of --dad-wait-time Merges in rt46535 --- RELNOTES | 4 ++++ client/dhclient.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/RELNOTES b/RELNOTES index 71493c6fa..744c032c2 100644 --- a/RELNOTES +++ b/RELNOTES @@ -198,6 +198,10 @@ dhcp-users@lists.isc.org. --decline-wait-time . A value of zero equates to no wait at all. [ISC-Bugs #45457] +- Corrected dhclient command line parsing for --dad-wait-time that causes + even valid values to fail as invalid on some environments. + [ISC-Bugs #46535] + Changes since 4.3.0 (bug fixes) - Tidy up several small tickets. diff --git a/client/dhclient.c b/client/dhclient.c index 45fbec7ab..d3e88d07e 100644 --- a/client/dhclient.c +++ b/client/dhclient.c @@ -495,9 +495,12 @@ main(int argc, char **argv) { if (++i == argc) { usage(use_noarg, argv[i-1]); } + + errno = 0; dad_wait_time = (int)strtol(argv[i], &s, 10); if (errno || (*s != '\0') || (dad_wait_time < 0)) { - usage("Invalid value for --dad-wait-time: %s", argv[i]); + usage("Invalid value for --dad-wait-time: %s", + argv[i]); } } else if (!strcmp(argv[i], "--prefix-len-hint")) { if (++i == argc) { -- 2.47.3