Re: [PATH nft v2 11/18] libnftables: move iface_cache_release to deinit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Attaching a revamped version of this too.
>From 46aa88ed029b28ec15f26adddb3707148906a535 Mon Sep 17 00:00:00 2001
From: Eric Leblond <eric@xxxxxxxxx>
Date: Thu, 24 Aug 2017 17:52:26 +0200
Subject: [PATCH] src: release caches from nft_ctx_free() path

Release existing caches from nft_ctx_free(). Still, the iface cache
should be good to place it in the nft_ctx structure.

Joint work with Pablo Neira.

Signed-off-by: Eric Leblond <eric@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
---
 src/main.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/main.c b/src/main.c
index 0cad4d2412e8..08296a6b57dc 100644
--- a/src/main.c
+++ b/src/main.c
@@ -297,6 +297,8 @@ static struct nft_ctx *nft_ctx_new(void)
 
 static void nft_ctx_free(const struct nft_ctx *ctx)
 {
+	iface_cache_release();
+	cache_release(&nft->cache);
 	xfree(ctx);
 }
 
@@ -318,7 +320,6 @@ static int nft_run_cmd_from_buffer(struct nft_ctx *nft,
 
 	scanner_destroy(scanner);
 	erec_print_list(stderr, &msgs, nft->debug_mask);
-	cache_release(&nft->cache);
 
 	return rc;
 }
@@ -347,7 +348,6 @@ static int nft_run_cmd_from_filename(struct nft_ctx *nft,
 err:
 	scanner_destroy(scanner);
 	erec_print_list(stderr, &msgs, nft->debug_mask);
-	cache_release(&nft->cache);
 
 	return rc;
 }
@@ -478,7 +478,6 @@ int main(int argc, char * const *argv)
 	}
 
 	xfree(buf);
-	iface_cache_release();
 	netlink_close_sock(nf_sock);
 	nft_ctx_free(nft);
 	nft_exit();
-- 
2.1.4


[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux