diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-10-21 14:42:33 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-10-21 14:45:37 +0200 |
commit | bc7b5e747f70d229ca5d5fb0709548a47e2830fc (patch) | |
tree | 55dee092ff8a4d764bff1acd8540d33625b6d74b /src | |
parent | ec4b60bebcab23d46aa09bed06018457c35e5afa (diff) |
set_elem: fix access after free in case of parsing errors
If this fails to parse a set element, stop the processing.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/set_elem.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/set_elem.c b/src/set_elem.c index 5bb82f6..5ef46f2 100644 --- a/src/set_elem.c +++ b/src/set_elem.c @@ -298,8 +298,10 @@ static int nft_set_elems_parse2(struct nft_set *s, const struct nlattr *nest) break; } } - if (ret < 0) + if (ret < 0) { xfree(e); + return -1; + } /* Add this new element to this set */ list_add_tail(&e->head, &s->element_list); |