diff options
Diffstat (limited to 'extensions/libipt_icmp.c')
-rw-r--r-- | extensions/libipt_icmp.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/extensions/libipt_icmp.c b/extensions/libipt_icmp.c index 63905181..a8b6bd13 100644 --- a/extensions/libipt_icmp.c +++ b/extensions/libipt_icmp.c @@ -133,7 +133,7 @@ parse_icmp(const char *icmptype, u_int8_t *type, u_int8_t code[]) } else { char *slash; char buffer[strlen(icmptype) + 1]; - int number; + unsigned int number; strcpy(buffer, icmptype); slash = strchr(buffer, '/'); @@ -141,14 +141,12 @@ parse_icmp(const char *icmptype, u_int8_t *type, u_int8_t code[]) 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); |