summaryrefslogtreecommitdiffstats
path: root/src/rule.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rule.c')
-rw-r--r--src/rule.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/rule.c b/src/rule.c
index 3a32bf6..9c09127 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -75,6 +75,8 @@ void nftnl_rule_free(struct nftnl_rule *r)
xfree(r->table);
if (r->chain != NULL)
xfree(r->chain);
+ if (r->user.data != NULL)
+ xfree(r->user.data);
xfree(r);
}
@@ -162,6 +164,9 @@ void nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr,
r->position = *((uint64_t *)data);
break;
case NFTNL_RULE_USERDATA:
+ if (r->user.data != NULL)
+ xfree(r->user.data);
+
r->user.data = (void *)data;
r->user.len = data_len;
break;