From b0789bd174418104b381da1720703f22d809ce9c Mon Sep 17 00:00:00 2001 From: "/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org" Date: Thu, 9 Feb 2006 14:35:38 +0000 Subject: fix segfault or loading of invalid counters in ip[6]tables-restore (Olaf Rempel) (Closes: #437) --- ip6tables-restore.c | 5 ++++- iptables-restore.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ip6tables-restore.c b/ip6tables-restore.c index cf69a6c..f7eac68 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 e2872cd..cc49c73 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, -- cgit v1.2.3