From 46e8538e2254fcd48517067b659bcdc8ba1c3cc0 Mon Sep 17 00:00:00 2001 From: Maciej Soltysiak Date: Wed, 28 Jul 2004 14:08:22 +0000 Subject: Limit ttl-value to 0-255 (Maciej Soltysiak ) --- extensions/libip6t_HL.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'extensions') diff --git a/extensions/libip6t_HL.c b/extensions/libip6t_HL.c index 7c249152..ffe86d09 100644 --- a/extensions/libip6t_HL.c +++ b/extensions/libip6t_HL.c @@ -24,9 +24,9 @@ static void help(void) { printf( "HL target v%s options\n" -" --hl-set value Set HL to \n" -" --hl-dec value Decrement HL by \n" -" --hl-inc value Increment HL by \n" +" --hl-set value Set HL to \n" +" --hl-dec value Decrement HL by \n" +" --hl-inc value Increment HL by \n" , IPTABLES_VERSION); } @@ -35,7 +35,7 @@ static int parse(int c, char **argv, int invert, unsigned int *flags, struct ip6t_entry_target **target) { struct ip6t_HL_info *info = (struct ip6t_HL_info *) (*target)->data; - u_int8_t value; + unsigned int value; if (*flags & IP6T_HL_USED) { exit_error(PARAMETER_PROBLEM, @@ -50,7 +50,9 @@ static int parse(int c, char **argv, int invert, unsigned int *flags, exit_error(PARAMETER_PROBLEM, "HL: unexpected `!'"); - value = atoi(optarg); + if (string_to_number(optarg, 0, 255, &value) == -1) + exit_error(PARAMETER_PROBLEM, + "HL: Expected value between 0 and 255"); switch (c) { -- cgit v1.2.3