@@ -111,7 +111,9 @@ void nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr)
case NFTNL_RULE_COMPAT_FLAGS:
case NFTNL_RULE_POSITION:
case NFTNL_RULE_FAMILY:
+ break;
case NFTNL_RULE_USERDATA:
+ xfree(r->user.data);
break;
}
@@ -81,7 +81,9 @@ void nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr)
case NFTNL_SET_ELEM_DATA: /* NFTA_SET_ELEM_DATA */
case NFTNL_SET_ELEM_TIMEOUT: /* NFTA_SET_ELEM_TIMEOUT */
case NFTNL_SET_ELEM_EXPIRATION: /* NFTA_SET_ELEM_EXPIRATION */
+ break;
case NFTNL_SET_ELEM_USERDATA: /* NFTA_SET_ELEM_USERDATA */
+ xfree(s->user.data);
break;
case NFTNL_SET_ELEM_EXPR:
if (s->flags & (1 << NFTNL_SET_ELEM_EXPR)) {
Signed-off-by: Carlos Falgueras García <carlosfg@riseup.net> --- src/rule.c | 2 ++ src/set_elem.c | 2 ++ 2 files changed, 4 insertions(+)