diff options
author | Jan Engelhardt <jengelh@medozas.de> | 2011-01-08 02:47:02 +0100 |
---|---|---|
committer | Jan Engelhardt <jengelh@medozas.de> | 2011-01-08 02:47:02 +0100 |
commit | fa503ad59f73d20d85f4cdf53324a01d2ad8591e (patch) | |
tree | cbfd2f6112a24a65238f50e828f14fb9bc0862b7 /ip6tables.c | |
parent | 1e128bd804b676ee91beca48312de9b251845d09 (diff) |
ip[6]tables: only call target's parse function when option char is in range
Same as previous commit. Doing this actually allows to remove code
that is no longer needed.
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Diffstat (limited to 'ip6tables.c')
-rw-r--r-- | ip6tables.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ip6tables.c b/ip6tables.c index 4ca4bfec..d4c2339b 100644 --- a/ip6tables.c +++ b/ip6tables.c @@ -1706,6 +1706,8 @@ int do_command6(int argc, char *argv[], char **table, struct ip6tc_handle **hand default: if (target == NULL || target->parse == NULL || + c < target->option_offset || + c >= target->option_offset + XT_OPTION_OFFSET_SCALE || !target->parse(c - target->option_offset, argv, invert, &target->tflags, |