summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Falgueras García <carlosfg@riseup.net>2016-05-24 17:17:07 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2016-05-25 10:28:53 +0200
commit88529a7ea173921efa15671b971655da5002ade1 (patch)
treeaf533e92f0cf4e42bdf86ec03590a1acf3873220
parent0edd209705bc4cf9d2a9e17084310c02d81f4d64 (diff)
set_elem: Fix memory leak
User data must be freed. How to reproduce: > nft add table t > nft add set t s {type ipv4_addr\;} > valgrind nft add element t s {1.1.1.1} Signed-off-by: Carlos Falgueras García <carlosfg@riseup.net> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--src/set_elem.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/set_elem.c b/src/set_elem.c
index 353f21e..990be24 100644
--- a/src/set_elem.c
+++ b/src/set_elem.c
@@ -51,6 +51,9 @@ void nftnl_set_elem_free(struct nftnl_set_elem *s)
if (s->flags & (1 << NFTNL_SET_ELEM_EXPR))
nftnl_expr_free(s->expr);
+ if (s->flags & (1 << NFTNL_SET_ELEM_USERDATA))
+ xfree(s->user.data);
+
xfree(s);
}
EXPORT_SYMBOL_ALIAS(nftnl_set_elem_free, nft_set_elem_free);