From d18b451ec82bbaeaf385241ebdf926912a075ade Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Sat, 14 Jul 2012 00:06:45 +0200 Subject: libxt_devgroup: guard against negative numbers More corrections of the strtoul kind. Signed-off-by: Jan Engelhardt --- extensions/libxt_devgroup.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'extensions') diff --git a/extensions/libxt_devgroup.c b/extensions/libxt_devgroup.c index 69ae279d..4a69c822 100644 --- a/extensions/libxt_devgroup.c +++ b/extensions/libxt_devgroup.c @@ -46,14 +46,16 @@ static void devgroup_parse_groupspec(const char *arg, unsigned int *group, unsigned int *mask) { char *end; + bool ok; - *group = strtoul(arg, &end, 0); - if (end != arg && (*end == '/' || *end == '\0')) { + ok = xtables_strtoui(arg, &end, group, 0, UINT32_MAX); + if (ok && (*end == '/' || *end == '\0')) { if (*end == '/') - *mask = strtoul(end + 1, &end, 0); + ok = xtables_strtoui(end + 1, NULL, mask, + 0, UINT32_MAX); else *mask = ~0U; - if (*end != '\0' || end == arg) + if (!ok) xtables_error(PARAMETER_PROBLEM, "Bad group value \"%s\"", arg); } else { -- cgit v1.2.3