From d3d56d0fe1856b7fe27584eb90e8349e883cd56b Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Thu, 24 Aug 2017 17:56:38 +0200 Subject: src: call nft_init() and nft_exit() from context routines So we don't forget all these caches should be placed into struct nft_ctx. Signed-off-by: Pablo Neira Ayuso --- include/nftables.h | 2 -- src/main.c | 9 ++++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/include/nftables.h b/include/nftables.h index b55e1440..256b06ee 100644 --- a/include/nftables.h +++ b/include/nftables.h @@ -135,13 +135,11 @@ void realm_table_rt_init(void); void devgroup_table_init(void); void realm_table_meta_init(void); void xt_init(void); -void nft_init(void); void ct_label_table_exit(void); void mark_table_exit(void); void realm_table_meta_exit(void); void devgroup_table_exit(void); void realm_table_rt_exit(void); -void nft_exit(void); #endif /* NFTABLES_NFTABLES_H */ diff --git a/src/main.c b/src/main.c index 1df53adb..eecd430a 100644 --- a/src/main.c +++ b/src/main.c @@ -259,7 +259,7 @@ err1: return ret; } -void nft_init(void) +static void nft_init(void) { mark_table_init(); realm_table_rt_init(); @@ -272,7 +272,7 @@ void nft_init(void) #endif } -void nft_exit(void) +static void nft_exit(void) { ct_label_table_exit(); realm_table_rt_exit(); @@ -285,6 +285,7 @@ static struct nft_ctx *nft_ctx_new(void) { struct nft_ctx *ctx; + nft_init(); ctx = xzalloc(sizeof(struct nft_ctx)); ctx->include_paths[0] = DEFAULT_INCLUDE_PATH; @@ -300,6 +301,7 @@ static void nft_ctx_free(const struct nft_ctx *ctx) iface_cache_release(); cache_release(&nft->cache); xfree(ctx); + nft_exit(); } static int nft_run_cmd_from_buffer(struct nft_ctx *nft, @@ -361,8 +363,6 @@ int main(int argc, char * const *argv) struct parser_state state; int i, val, rc; - nft_init(); - nft = nft_ctx_new(); nf_sock = netlink_open_sock(); @@ -478,7 +478,6 @@ int main(int argc, char * const *argv) xfree(buf); netlink_close_sock(nf_sock); nft_ctx_free(nft); - nft_exit(); return rc; } -- cgit v1.2.3