From: Harald Welte Date: Thu, 9 Feb 2006 14:35:38 +0000 (+0000) Subject: fix segfault or loading of invalid counters in ip[6]tables-restore (Olaf Rempel)... X-Git-Tag: v1.3.6~50 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6f38a30f99966435e0c6b6f5f3ff497f8309ee81;p=thirdparty%2Fiptables.git fix segfault or loading of invalid counters in ip[6]tables-restore (Olaf Rempel) (Closes: #437) --- 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,