summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ip6tables.c2
-rw-r--r--iptables.c2
2 files changed, 4 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,
diff --git a/iptables.c b/iptables.c
index bcacd49f..b45211a9 100644
--- a/iptables.c
+++ b/iptables.c
@@ -1738,6 +1738,8 @@ int do_command(int argc, char *argv[], char **table, struct iptc_handle **handle
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,