From: Thomas Markwalder Date: Mon, 27 Nov 2017 18:30:27 +0000 (-0500) Subject: [master] Corrected dhclient command line parsing of --dad-wait-time X-Git-Tag: v4_4_0b1_f1~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=83f1dd956ce7cc9ff3f136610824d358a54e7840;p=thirdparty%2Fdhcp.git [master] Corrected dhclient command line parsing of --dad-wait-time Merges in rt46535 --- 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) {