From 41175cec8407da4687493a9f74043656682d470a Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Tue, 25 Feb 2014 22:27:12 +0100 Subject: src: early attribute type validation in nft_*_attr_set This allows us to remove the default case in the switch, which show help to spot missing attribute support since gcc will spot a compilation warning. Signed-off-by: Pablo Neira Ayuso --- src/set.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/set.c') diff --git a/src/set.c b/src/set.c index c3a7fae..c8b5ccf 100644 --- a/src/set.c +++ b/src/set.c @@ -98,6 +98,9 @@ EXPORT_SYMBOL(nft_set_attr_unset); void nft_set_attr_set(struct nft_set *s, uint16_t attr, const void *data) { + if (attr > NFT_SET_ATTR_MAX) + return; + switch(attr) { case NFT_SET_ATTR_TABLE: if (s->table) @@ -129,8 +132,6 @@ void nft_set_attr_set(struct nft_set *s, uint16_t attr, const void *data) case NFT_SET_ATTR_FAMILY: s->family = *((uint32_t *)data); break; - default: - return; } s->flags |= (1 << attr); } -- cgit v1.2.3