summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2015-02-13 16:48:35 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2015-02-13 16:52:56 +0100
commit007e93ea118436eb40a2e39d6ae185c14b74ecf1 (patch)
tree6e47c72ba2b5ab4cc4bfffcf4dea8d623f0cabdf /src
parent08c9bfc99382a60b6656ddb25ffdf4baee4df65d (diff)
ruleset: fix more leaks in error path
Shouldn't happen though, since you need to introduce an unsupported markup language. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r--src/ruleset.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/ruleset.c b/src/ruleset.c
index f5b6d55..89ea344 100644
--- a/src/ruleset.c
+++ b/src/ruleset.c
@@ -255,7 +255,8 @@ static int nft_ruleset_parse_tables(struct nft_parse_ctx *ctx,
#endif
break;
default:
- return -1;
+ errno = EOPNOTSUPP;
+ goto err;
}
nft_ruleset_ctx_set_u32(ctx, NFT_RULESET_CTX_TYPE, NFT_RULESET_TABLE);
@@ -292,7 +293,8 @@ static int nft_ruleset_parse_chains(struct nft_parse_ctx *ctx,
#endif
break;
default:
- return -1;
+ errno = EOPNOTSUPP;
+ goto err;
}
nft_ruleset_ctx_set_u32(ctx, NFT_RULESET_CTX_TYPE, NFT_RULESET_CHAIN);
@@ -346,7 +348,8 @@ static int nft_ruleset_parse_set_elems(struct nft_parse_ctx *ctx,
#endif
break;
default:
- return -1;
+ errno = EOPNOTSUPP;
+ goto err;
}
if (nft_ruleset_parse_set(ctx, set, NFT_RULESET_SET_ELEMS, err) < 0)
@@ -381,7 +384,8 @@ static int nft_ruleset_parse_sets(struct nft_parse_ctx *ctx,
#endif
break;
default:
- return -1;
+ errno = EOPNOTSUPP;
+ goto err;
}
if (nft_ruleset_parse_set(ctx, set, NFT_RULESET_SET, err) < 0)
@@ -417,7 +421,8 @@ static int nft_ruleset_parse_rules(struct nft_parse_ctx *ctx,
#endif
break;
default:
- return -1;
+ errno = EOPNOTSUPP;
+ goto err;
}
nft_ruleset_ctx_set_u32(ctx, NFT_RULESET_CTX_TYPE, NFT_RULESET_RULE);