summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2023-03-14 10:29:59 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2023-03-14 10:32:14 +0100
commit5be698396c6b2b71c5d5f11fe2b66ec362e454bf (patch)
treec8acbf4289d200d75a9f5e393225d1dba91808f8 /src
parent63b3efd9b4b13d7ab9ca5518aab684a13686ba96 (diff)
Revert "evaluate: relax type-checking for integer arguments in mark statements"
This patch reverts eab3eb7f146c ("evaluate: relax type-checking for integer arguments in mark statements") since it might cause ruleset portability issues when moving a ruleset from little to big endian host (and vice-versa). Let's revert this until we agree on what to do in this case. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r--src/evaluate.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/evaluate.c b/src/evaluate.c
index 47caf3b0..edc3c5cb 100644
--- a/src/evaluate.c
+++ b/src/evaluate.c
@@ -2733,12 +2733,8 @@ static int __stmt_evaluate_arg(struct eval_ctx *ctx, struct stmt *stmt,
"expression has type %s with length %d",
dtype->desc, (*expr)->dtype->desc,
(*expr)->len);
-
- if ((dtype->type == TYPE_MARK &&
- !datatype_equal(datatype_basetype(dtype), datatype_basetype((*expr)->dtype))) ||
- (dtype->type != TYPE_MARK &&
- (*expr)->dtype->type != TYPE_INTEGER &&
- !datatype_equal((*expr)->dtype, dtype)))
+ else if ((*expr)->dtype->type != TYPE_INTEGER &&
+ !datatype_equal((*expr)->dtype, dtype))
return stmt_binary_error(ctx, *expr, stmt, /* verdict vs invalid? */
"datatype mismatch: expected %s, "
"expression has type %s",