From a19988f2795770ce470562c1795e1cf53e3aa54b Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Sun, 15 Jul 2012 22:21:00 +0200 Subject: libxt_LED: guard against negative numbers Signed-off-by: Jan Engelhardt --- extensions/libxt_LED.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'extensions/libxt_LED.c') 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; -- cgit v1.2.3