further fixes of string_to_number fixes
diff --git a/extensions/libipt_icmp.c b/extensions/libipt_icmp.c
index 6390518..a8b6bd1 100644
--- a/extensions/libipt_icmp.c
+++ b/extensions/libipt_icmp.c
@@ -133,7 +133,7 @@
} else {
char *slash;
char buffer[strlen(icmptype) + 1];
- int number;
+ unsigned int number;
strcpy(buffer, icmptype);
slash = strchr(buffer, '/');
@@ -141,14 +141,12 @@
if (slash)
*slash = '\0';
- number = string_to_number(buffer, 0, 255);
- if (number == -1)
+ if (string_to_number(buffer, 0, 255, &number) == -1)
exit_error(PARAMETER_PROBLEM,
"Invalid ICMP type `%s'\n", buffer);
*type = number;
if (slash) {
- number = string_to_number(slash+1, 0, 255);
- if (number == -1)
+ if (string_to_number(slash+1, 0, 255, &number) == -1)
exit_error(PARAMETER_PROBLEM,
"Invalid ICMP code `%s'\n",
slash+1);