diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-02-13 16:48:35 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-02-13 16:52:56 +0100 |
commit | 007e93ea118436eb40a2e39d6ae185c14b74ecf1 (patch) | |
tree | 6e47c72ba2b5ab4cc4bfffcf4dea8d623f0cabdf | |
parent | 08c9bfc99382a60b6656ddb25ffdf4baee4df65d (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>
-rw-r--r-- | src/ruleset.c | 15 |
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); |