Browse Source

ripngd: limit max of "timers basic" to 65535 as documented

and use VTY_GET_INTEGER_RANGE instead of calling strtoul
Ulrich Weber 8 years ago
parent
commit
6989880ad7
1 changed files with 3 additions and 21 deletions
  1. 3 21
      ripngd/ripngd.c

+ 3 - 21
ripngd/ripngd.c

@@ -2485,28 +2485,10 @@ DEFUN (ripng_timers,
   unsigned long update;
   unsigned long timeout;
   unsigned long garbage;
-  char *endptr = NULL;
 
-  update = strtoul (argv[0], &endptr, 10);
-  if (update == ULONG_MAX || *endptr != '\0')
-    {
-      vty_out (vty, "update timer value error%s", VTY_NEWLINE);
-      return CMD_WARNING;
-    }
-  
-  timeout = strtoul (argv[1], &endptr, 10);
-  if (timeout == ULONG_MAX || *endptr != '\0')
-    {
-      vty_out (vty, "timeout timer value error%s", VTY_NEWLINE);
-      return CMD_WARNING;
-    }
-  
-  garbage = strtoul (argv[2], &endptr, 10);
-  if (garbage == ULONG_MAX || *endptr != '\0')
-    {
-      vty_out (vty, "garbage timer value error%s", VTY_NEWLINE);
-      return CMD_WARNING;
-    }
+  VTY_GET_INTEGER_RANGE("update timer", update, argv[0], 0, 65535);
+  VTY_GET_INTEGER_RANGE("timeout timer", timeout, argv[1], 0, 65535);
+  VTY_GET_INTEGER_RANGE("garbage timer", garbage, argv[2], 0, 65535);
 
   /* Set each timer value. */
   ripng->update_time = update;