From 5be698396c6b2b71c5d5f11fe2b66ec362e454bf Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Tue, 14 Mar 2023 10:29:59 +0100 Subject: 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 --- src/evaluate.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'src') 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", -- cgit v1.2.3