From 007e93ea118436eb40a2e39d6ae185c14b74ecf1 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Fri, 13 Feb 2015 16:48:35 +0100 Subject: 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 --- src/ruleset.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'src/ruleset.c') 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); -- cgit v1.2.3