]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
[master] Corrected dhclient command line parsing of --dad-wait-time
authorThomas Markwalder <tmark@isc.org>
Mon, 27 Nov 2017 18:30:27 +0000 (13:30 -0500)
committerThomas Markwalder <tmark@isc.org>
Mon, 27 Nov 2017 18:30:27 +0000 (13:30 -0500)
    Merges in rt46535

RELNOTES
client/dhclient.c

index 71493c6faa329ce5eb14aec465e256536964bdb8..744c032c2041c6f7deaecf1b05e2daef6db50f1c 100644 (file)
--- a/RELNOTES
+++ b/RELNOTES
@@ -198,6 +198,10 @@ dhcp-users@lists.isc.org.
   --decline-wait-time <seconds>.  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.
index 45fbec7ab7015a89365f8fd5f3dfa2850049e017..d3e88d07e7092e315d7467180672121d2f4ccd7a 100644 (file)
@@ -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) {