aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2015-03-21 11:19:16 -0400
committerPablo Neira Ayuso <pablo@netfilter.org>2015-03-22 14:50:35 -0400
commit55df35d22fe3433032d82b8c67dfd283cb071953 (patch)
tree62a1a23f2fac7b2451b0b0f2a8c6d9885e21d12e
parent16c45eda96038aae848b6cfd42e2bf4b5e80f365 (diff)
netfilter: nf_tables: reject NFT_SET_ELEM_INTERVAL_END flag for non-interval sets
Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--net/netfilter/nf_tables_api.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index a072d8769b9b..f7e3371ce856 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -3138,6 +3138,9 @@ static int nft_add_set_elem(struct nft_ctx *ctx, struct nft_set *set,
3138 elem.flags = ntohl(nla_get_be32(nla[NFTA_SET_ELEM_FLAGS])); 3138 elem.flags = ntohl(nla_get_be32(nla[NFTA_SET_ELEM_FLAGS]));
3139 if (elem.flags & ~NFT_SET_ELEM_INTERVAL_END) 3139 if (elem.flags & ~NFT_SET_ELEM_INTERVAL_END)
3140 return -EINVAL; 3140 return -EINVAL;
3141 if (!(set->flags & NFT_SET_INTERVAL) &&
3142 elem.flags & NFT_SET_ELEM_INTERVAL_END)
3143 return -EINVAL;
3141 } 3144 }
3142 3145
3143 if (set->flags & NFT_SET_MAP) { 3146 if (set->flags & NFT_SET_MAP) {