summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Leblond <eric@regit.org>2017-07-06 13:58:27 +0100
committerEric Leblond <eric@regit.org>2017-07-06 13:58:27 +0100
commitd58998312375de0865091cfc5d00ddd271d9a44c (patch)
treec2b739cf2430a7280319711f28d1d19f2e8c028b
parente7ca8e1de707444a6081070ca5bb6f70dd849856 (diff)
set: free user data
This was causing a memory leak when using set. Catched by an ASAN run: ==21004==ERROR: LeakSanitizer: detected memory leaks Direct leak of 12 byte(s) in 2 object(s) allocated from: #0 0x4cde58 in malloc (/usr/local/sbin/nft+0x4cde58) #1 0x7ffff79b8c19 in nftnl_set_set_data /home/eric/git/netfilter/libnftnl/src/set.c:179
-rw-r--r--src/set.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/set.c b/src/set.c
index cce5e63..1158e38 100644
--- a/src/set.c
+++ b/src/set.c
@@ -48,6 +48,8 @@ void nftnl_set_free(const struct nftnl_set *s)
xfree(s->table);
if (s->flags & (1 << NFTNL_SET_NAME))
xfree(s->name);
+ if (s->flags & (1 << NFTNL_SET_USERDATA))
+ xfree(s->user.data);
list_for_each_entry_safe(elem, tmp, &s->element_list, head) {
list_del(&elem->head);