diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-09-16 13:51:23 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-09-16 14:07:07 +0200 |
commit | 0693edb9eb01fa5a479dcca7d30b06f52806d22a (patch) | |
tree | 1b3921bd58066503715291eebfcfbabfc2b4e8bc /src/netlink.c | |
parent | 7fd67ce121f86c9e0aecd731d367170ce1458389 (diff) |
netlink: reset temporary set element stmt list after list splice
Reset temporary stmt list to deal with the key_end case which might
result in a jump backward to handle the rhs of the interval.
Reported-by: Martin Zatloukal <slezi2@pvfree.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/netlink.c')
-rw-r--r-- | src/netlink.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/netlink.c b/src/netlink.c index 9a0d96f0..28a5514a 100644 --- a/src/netlink.c +++ b/src/netlink.c @@ -1324,7 +1324,7 @@ key_end: nftnl_set_elem_expr_foreach(nlse, set_elem_parse_expressions, &setelem_parse_ctx); } - list_splice_tail(&setelem_parse_ctx.stmt_list, &expr->stmt_list); + list_splice_tail_init(&setelem_parse_ctx.stmt_list, &expr->stmt_list); if (flags & NFT_SET_ELEM_INTERVAL_END) { expr->flags |= EXPR_F_INTERVAL_END; |