>From fc55891c99890a1ac65436d78b7b12cd5f63d57d Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Thu, 24 Aug 2017 17:56:38 +0200 Subject: [PATCH] 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 --- src/main.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main.c b/src/main.c index 08296a6b57dc..fd16f0145f6c 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, @@ -363,8 +365,6 @@ int main(int argc, char * const *argv) int i, val, rc = NFT_EXIT_SUCCESS; struct mnl_socket *nf_sock; - nft_init(); - nft = nft_ctx_new(); nf_sock = netlink_open_sock(); @@ -480,7 +480,6 @@ int main(int argc, char * const *argv) xfree(buf); netlink_close_sock(nf_sock); nft_ctx_free(nft); - nft_exit(); return rc; } -- 2.1.4