summaryrefslogtreecommitdiffstats
path: root/iptables/xtables-save.c
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2018-08-23 17:43:27 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2018-08-24 10:05:51 +0200
commit783e9c2308e0c6a53482482cf7a6c75c975e23be (patch)
tree6be4629e91bda86100ca592ca31648156e49b45f /iptables/xtables-save.c
parent9771d067ef349460a3ea138370432d355da26ba8 (diff)
xtables: Add missing deinitialization
These fix reports for definitely lost blocks in valgrind. Not really memleaks, but due to nft_handle going out of scope they're counted as lost. Still worth fixing though since it reduces noise when auditing code for real issues. Signed-off-by: Phil Sutter <phil@nwl.cc> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'iptables/xtables-save.c')
-rw-r--r--iptables/xtables-save.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/iptables/xtables-save.c b/iptables/xtables-save.c
index 182ae13c..6734c6b3 100644
--- a/iptables/xtables-save.c
+++ b/iptables/xtables-save.c
@@ -203,12 +203,12 @@ xtables_save_main(int family, const char *progname, int argc, char *argv[])
exit(EXIT_FAILURE);
}
- if (dump) {
- do_output(&h, tablename, show_counters);
+ ret = do_output(&h, tablename, show_counters);
+ nft_fini(&h);
+ if (dump)
exit(0);
- }
- return do_output(&h, tablename, show_counters);
+ return ret;
}
int xtables_ip4_save_main(int argc, char *argv[])
@@ -325,5 +325,6 @@ int xtables_arp_save_main(int argc, char **argv)
nft_chain_save(&h, nft_chain_dump(&h), "filter");
nft_rule_save(&h, "filter", FMT_NOCOUNTS);
printf("\n");
+ nft_fini(&h);
return 0;
}