diff options
author | /C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org> | 2006-02-09 14:35:38 +0000 |
---|---|---|
committer | /C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org> | 2006-02-09 14:35:38 +0000 |
commit | b0789bd174418104b381da1720703f22d809ce9c (patch) | |
tree | 8f7b19f1a6ba840fcd63c8678f6b971d51a8228d /iptables-restore.c | |
parent | 5cd6baed0d01d5ab6ae8ea72a189a327d20b9101 (diff) |
fix segfault or loading of invalid counters in ip[6]tables-restore (Olaf Rempel) (Closes: #437)
Diffstat (limited to 'iptables-restore.c')
-rw-r--r-- | iptables-restore.c | 5 |
1 files changed, 4 insertions, 1 deletions
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, |