diff options
author | Carlos Falgueras García <carlosfg@riseup.net> | 2016-05-24 17:17:07 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-05-25 10:28:53 +0200 |
commit | 88529a7ea173921efa15671b971655da5002ade1 (patch) | |
tree | af533e92f0cf4e42bdf86ec03590a1acf3873220 /src/set_elem.c | |
parent | 0edd209705bc4cf9d2a9e17084310c02d81f4d64 (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>
Diffstat (limited to 'src/set_elem.c')
-rw-r--r-- | src/set_elem.c | 3 |
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); |