summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-07-25 22:08:15 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-07-25 22:09:04 +0200
commitf1427774b505e49c381fe51bde58a1cb431a1f70 (patch)
treebf78f366d87f8842fe57184aa180d345de9ddcc3 /src
parentf57644702ddc427dfafc728fb25085158e93504a (diff)
expr: don't override errno value if nft_mxml_num_parse is used
That function already sets errno for us. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r--src/expr/byteorder.c13
-rw-r--r--src/expr/ct.c2
-rw-r--r--src/expr/limit.c7
3 files changed, 9 insertions, 13 deletions
diff --git a/src/expr/byteorder.c b/src/expr/byteorder.c
index 523bae1..79ba439 100644
--- a/src/expr/byteorder.c
+++ b/src/expr/byteorder.c
@@ -211,27 +211,26 @@ nft_rule_expr_byteorder_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree)
byteorder->op = NFT_BYTEORDER_NTOH;
else if (strcmp(op, "hton") == 0)
byteorder->op = NFT_BYTEORDER_HTON;
- else
- goto err;
+ else {
+ errno = EINVAL;
+ return -1;
+ }
e->flags |= (1 << NFT_EXPR_BYTEORDER_OP);
if (nft_mxml_num_parse(tree, "len", MXML_DESCEND_FIRST, BASE_DEC,
&byteorder->len, NFT_TYPE_U8) != 0)
- goto err;
+ return -1;
e->flags |= (1 << NFT_EXPR_BYTEORDER_LEN);
if (nft_mxml_num_parse(tree, "size", MXML_DESCEND_FIRST, BASE_DEC,
&byteorder->size, NFT_TYPE_U8) != 0)
- goto err;
+ return -1;
e->flags |= (1 << NFT_EXPR_BYTEORDER_SIZE);
return 0;
-err:
- errno = EINVAL;
- return -1;
#else
errno = EOPNOTSUPP;
return -1;
diff --git a/src/expr/ct.c b/src/expr/ct.c
index 866c743..99448c6 100644
--- a/src/expr/ct.c
+++ b/src/expr/ct.c
@@ -207,7 +207,7 @@ static int nft_rule_expr_ct_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree
if (nft_mxml_num_parse(tree, "dir", MXML_DESCEND_FIRST, BASE_DEC, &dir,
NFT_TYPE_U8) != 0)
- goto err;
+ return -1;
if (dir != IP_CT_DIR_ORIGINAL && dir != IP_CT_DIR_REPLY)
goto err;
diff --git a/src/expr/limit.c b/src/expr/limit.c
index 27f880c..9f20c38 100644
--- a/src/expr/limit.c
+++ b/src/expr/limit.c
@@ -125,20 +125,17 @@ static int nft_rule_expr_limit_xml_parse(struct nft_rule_expr *e, mxml_node_t *t
if (nft_mxml_num_parse(tree, "rate", MXML_DESCEND_FIRST, BASE_DEC,
&limit->rate, NFT_TYPE_U64) != 0)
- goto err;
+ return -1;
e->flags |= (1 << NFT_EXPR_LIMIT_RATE);
if (nft_mxml_num_parse(tree, "depth", MXML_DESCEND_FIRST, BASE_DEC,
&limit->rate, NFT_TYPE_U64) != 0)
- goto err;
+ return -1;
e->flags |= (1 << NFT_EXPR_LIMIT_DEPTH);
return 0;
-err:
- errno = EINVAL;
- return -1;
#else
errno = EOPNOTSUPP;
return -1;