[PATCH nft 3/4] evaluate: handle EXPR_MAPPING

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Needed by followup patch.  EXPR_SET_REF handling is bonkers, it
"works" when using { key : value } because ->key and ->left are aliased
in struct expr to the same location.

Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
---
 src/evaluate.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/evaluate.c b/src/evaluate.c
index acbb1234972a..9641623bee1f 100644
--- a/src/evaluate.c
+++ b/src/evaluate.c
@@ -1421,6 +1421,8 @@ static int binop_can_transfer(struct eval_ctx *ctx,
 		if (err <= 0)
 			return err;
 		return binop_can_transfer(ctx, left, right->right);
+	case EXPR_MAPPING:
+		return binop_can_transfer(ctx, left, right->left);
 	default:
 		return 0;
 	}
@@ -1448,6 +1450,8 @@ static int binop_transfer_one(struct eval_ctx *ctx,
 	int err;
 
 	switch ((*right)->ops->type) {
+	case EXPR_MAPPING:
+		return binop_transfer_one(ctx, left, &(*right)->left);
 	case EXPR_VALUE:
 		break;
 	case EXPR_SET_ELEM:
-- 
2.16.1

--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux