diff options
-rw-r--r-- | ip6tables-restore.c | 5 | ||||
-rw-r--r-- | iptables-restore.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/ip6tables-restore.c b/ip6tables-restore.c index cf69a6c7..f7eac680 100644 --- a/ip6tables-restore.c +++ b/ip6tables-restore.c @@ -266,7 +266,10 @@ int main(int argc, char *argv[]) char *ctrs; ctrs = strtok(NULL, " \t\n"); - parse_counters(ctrs, &count); + if (!ctrs || !parse_counters(ctrs, &count)) + exit_error(PARAMETER_PROBLEM, + "invalid policy counters " + "for chain '%s'\n", chain); } else { memset(&count, 0, diff --git a/iptables-restore.c b/iptables-restore.c index e2872cde..cc49c738 100644 --- a/iptables-restore.c +++ b/iptables-restore.c @@ -269,7 +269,10 @@ main(int argc, char *argv[]) char *ctrs; ctrs = strtok(NULL, " \t\n"); - parse_counters(ctrs, &count); + if (!ctrs || !parse_counters(ctrs, &count)) + exit_error(PARAMETER_PROBLEM, + "invalid policy counters " + "for chain '%s'\n", chain); } else { memset(&count, 0, |