summaryrefslogtreecommitdiffstats
path: root/src/rule.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-07-21 15:26:02 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-07-21 15:33:56 +0200
commitcc9573dfa25585a415f6c12950758ce32f337294 (patch)
tree95471849b13a864f01be62e5961f087ab199022e /src/rule.c
parentd4faa02971e3924512f93e1d369bb134aa6d96b1 (diff)
src: remove default case from nft_*_attr_unset
This patch removes the default case in nft_*_attr_unset, thus, the compiler will spot a warning if we add a new attribute in the future and you forget to handle it. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/rule.c')
-rw-r--r--src/rule.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/rule.c b/src/rule.c
index b1bf64b..e48497f 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -81,20 +81,21 @@ EXPORT_SYMBOL(nft_rule_attr_is_set);
void nft_rule_attr_unset(struct nft_rule *r, uint16_t attr)
{
+ if (!(r->flags & (1 << attr)))
+ return;
+
switch (attr) {
case NFT_RULE_ATTR_TABLE:
- if (r->flags & (1 << NFT_RULE_ATTR_TABLE))
- if (r->table) {
- free(r->table);
- r->table = NULL;
- }
+ if (r->table) {
+ free(r->table);
+ r->table = NULL;
+ }
break;
case NFT_RULE_ATTR_CHAIN:
- if (r->flags & (1 << NFT_RULE_ATTR_CHAIN))
- if (r->chain) {
- free(r->chain);
- r->chain = NULL;
- }
+ if (r->chain) {
+ free(r->chain);
+ r->chain = NULL;
+ }
break;
case NFT_RULE_ATTR_HANDLE:
case NFT_RULE_ATTR_FLAGS:
@@ -103,8 +104,6 @@ void nft_rule_attr_unset(struct nft_rule *r, uint16_t attr)
case NFT_RULE_ATTR_POSITION:
case NFT_RULE_ATTR_FAMILY:
break;
- default:
- return;
}
r->flags &= ~(1 << attr);