From: Jan Echternach Date: Sat, 26 Aug 2000 04:44:39 +0000 (+0000) Subject: Jan Echternach's patch for bignums X-Git-Tag: v1.2.1~125 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5a1041dfbeffa3703ba1dca73b8a563605888ae3;p=thirdparty%2Fiptables.git Jan Echternach's patch for bignums --- diff --git a/iptables.c b/iptables.c index 4dfa7d04..92f0175d 100644 --- a/iptables.c +++ b/iptables.c @@ -820,14 +820,15 @@ mask_to_dotted(const struct in_addr *mask) int string_to_number(const char *s, int min, int max) { - int number; + long number; char *end; /* Handle hex, octal, etc. */ - number = (int)strtol(s, &end, 0); + errno = 0; + number = strtol(s, &end, 0); if (*end == '\0' && end != s) { /* we parsed a number, let's see if we want this */ - if (min <= number && number <= max) + if (errno != ERANGE && min <= number && number <= max) return number; } return -1; @@ -894,7 +895,7 @@ find_target(const char *name, enum ipt_tryload tryload) } static struct option * -merge_options(struct option *oldopts, struct option *newopts, +merge_options(struct option *oldopts, const struct option *newopts, unsigned int *option_offset) { unsigned int num_old, num_new, i;