From: Carlos Falgueras García Date: Fri, 10 Jun 2016 12:22:45 +0000 (+0200) Subject: src: Fix leak in nftnl_*_unset() X-Git-Tag: libnftnl-1.0.7~84 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=396cdb2375af8c8b8884f5f50c773a39b29a06d7;p=thirdparty%2Flibnftnl.git src: Fix leak in nftnl_*_unset() Fix leak of NFTNL_*_USERDATA from unset() functions. Signed-off-by: Carlos Falgueras García Signed-off-by: Pablo Neira Ayuso --- diff --git a/src/rule.c b/src/rule.c index 8ee8648a..04cadaee 100644 --- a/src/rule.c +++ b/src/rule.c @@ -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; } diff --git a/src/set_elem.c b/src/set_elem.c index b9c7e1e7..36289e50 100644 --- a/src/set_elem.c +++ b/src/set_elem.c @@ -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)) {