summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-10-21 14:42:33 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-10-21 14:45:37 +0200
commitbc7b5e747f70d229ca5d5fb0709548a47e2830fc (patch)
tree55dee092ff8a4d764bff1acd8540d33625b6d74b
parentec4b60bebcab23d46aa09bed06018457c35e5afa (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>
-rw-r--r--src/set_elem.c4
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);