summaryrefslogtreecommitdiffstats
path: root/extensions/libxt_LED.c
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/libxt_LED.c')
-rw-r--r--extensions/libxt_LED.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/extensions/libxt_LED.c b/extensions/libxt_LED.c
index 9d68fa27..e6cf8497 100644
--- a/extensions/libxt_LED.c
+++ b/extensions/libxt_LED.c
@@ -49,6 +49,7 @@ static void LED_help(void)
static void LED_parse(struct xt_option_call *cb)
{
struct xt_led_info *led = cb->data;
+ unsigned int delay;
xtables_option_parse(cb);
switch (cb->entry->id) {
@@ -59,8 +60,10 @@ static void LED_parse(struct xt_option_call *cb)
case O_LED_DELAY:
if (strncasecmp(cb->arg, "inf", 3) == 0)
led->delay = -1;
- else
- led->delay = strtoul(cb->arg, NULL, 0);
+ else if (!xtables_strtoui(cb->arg, NULL, &delay, 0, UINT32_MAX))
+ xtables_error(PARAMETER_PROBLEM,
+ "Delay value must be within range 0..%u",
+ UINT32_MAX);
break;
case O_LED_ALWAYS_BLINK:
led->always_blink = 1;