From d0f14b5337e7480c03a31af483d4d94aa4291771 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Wed, 26 Jan 2022 23:03:45 +0100 Subject: optimize: do not merge raw payload expressions Merging raw expressions results in a valid concatenation which throws: Error: can not use variable sized data types (integer) in concat expressions Disable merging raw expressions until this is supported by skipping raw expressions. Signed-off-by: Pablo Neira Ayuso --- src/optimize.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/optimize.c') diff --git a/src/optimize.c b/src/optimize.c index 5882f3bd..04523edb 100644 --- a/src/optimize.c +++ b/src/optimize.c @@ -40,6 +40,9 @@ static bool __expr_cmp(const struct expr *expr_a, const struct expr *expr_b) switch (expr_a->etype) { case EXPR_PAYLOAD: + /* disable until concatenation with integer works. */ + if (expr_a->payload.is_raw || expr_b->payload.is_raw) + return false; if (expr_a->payload.base != expr_b->payload.base) return false; if (expr_a->payload.offset != expr_b->payload.offset) -- cgit v1.2.3