]> git.ipfire.org Git - thirdparty/libnftnl.git/commitdiff
expr: immediate: check for chain attribute to release chain name
authorPablo Neira Ayuso <pablo@netfilter.org>
Sat, 24 Feb 2024 09:14:54 +0000 (10:14 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 26 Feb 2024 17:09:49 +0000 (18:09 +0100)
Check for chain name attribute to release chain name, for consistency
with other existing attributes.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/data_reg.h
src/expr/data_reg.c
src/expr/immediate.c

index 5ee7080daef06d666391ec86cc1ec74671408e16..946354dc9881c502f7faca88705c3c49a81f7a4b 100644 (file)
@@ -35,8 +35,6 @@ int nftnl_data_reg_snprintf(char *buf, size_t size,
 struct nlattr;
 
 int nftnl_parse_data(union nftnl_data_reg *data, struct nlattr *attr, int *type);
-void nftnl_free_verdict(const union nftnl_data_reg *data);
-
 int nftnl_data_cpy(union nftnl_data_reg *dreg, const void *src, uint32_t len);
 
 #endif
index 690b23dbad6c86d7098dba3583d558a7885b6753..d2ccf2e8dc682c85104748412c7d318b49a95dfc 100644 (file)
@@ -206,18 +206,6 @@ int nftnl_parse_data(union nftnl_data_reg *data, struct nlattr *attr, int *type)
        return ret;
 }
 
-void nftnl_free_verdict(const union nftnl_data_reg *data)
-{
-       switch(data->verdict) {
-       case NFT_JUMP:
-       case NFT_GOTO:
-               xfree(data->chain);
-               break;
-       default:
-               break;
-       }
-}
-
 int nftnl_data_cpy(union nftnl_data_reg *dreg, const void *src, uint32_t len)
 {
        int ret = 0;
index f56aa8fd69997898fc4a5a12967e9a56cda1b3a0..acc01a10154e0589ea15adab063ee403a96c44a1 100644 (file)
@@ -214,8 +214,8 @@ static void nftnl_expr_immediate_free(const struct nftnl_expr *e)
 {
        struct nftnl_expr_immediate *imm = nftnl_expr_data(e);
 
-       if (e->flags & (1 << NFTNL_EXPR_IMM_VERDICT))
-               nftnl_free_verdict(&imm->data);
+       if (e->flags & (1 << NFTNL_EXPR_IMM_CHAIN))
+               xfree(imm->data.chain);
 }
 
 struct expr_ops expr_ops_immediate = {