diff options
author | Phil Sutter <phil@nwl.cc> | 2018-08-23 17:43:27 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2018-08-24 10:05:51 +0200 |
commit | 783e9c2308e0c6a53482482cf7a6c75c975e23be (patch) | |
tree | 6be4629e91bda86100ca592ca31648156e49b45f /iptables/xtables-save.c | |
parent | 9771d067ef349460a3ea138370432d355da26ba8 (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.c | 9 |
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; } |