From f8781d3da3943a0fc10212e77cdbcd0697943596 Mon Sep 17 00:00:00 2001 From: Tomasz Bursztyka Date: Wed, 31 Jul 2013 15:18:52 +0300 Subject: xtables: Do not dump before command parsing has been finished On xtables-save.c, -d will not output right away but after the full command line hase been parsed. Signed-off-by: Tomasz Bursztyka Signed-off-by: Pablo Neira Ayuso --- iptables/xtables-save.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'iptables/xtables-save.c') diff --git a/iptables/xtables-save.c b/iptables/xtables-save.c index db030901..990c0fe6 100644 --- a/iptables/xtables-save.c +++ b/iptables/xtables-save.c @@ -78,6 +78,7 @@ int xtables_save_main(int argc, char *argv[]) { const char *tablename = NULL; + bool dump = false; struct nft_handle h = { .family = AF_INET, /* default to AF_INET */ }; @@ -118,8 +119,8 @@ xtables_save_main(int argc, char *argv[]) xtables_modprobe_program = optarg; break; case 'd': - do_output(&h, tablename, show_counters); - exit(0); + dump = true; + break; case '4': h.family = AF_INET; break; @@ -135,5 +136,10 @@ xtables_save_main(int argc, char *argv[]) exit(1); } + if (dump) { + do_output(&h, tablename, show_counters); + exit(0); + } + return !do_output(&h, tablename, show_counters); } -- cgit v1.2.3