summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2022-01-26 23:03:45 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2022-01-26 23:31:12 +0100
commitd0f14b5337e7480c03a31af483d4d94aa4291771 (patch)
tree0beecc7c85f66b5d354eb4ef311ad4a38c6edbf3 /src
parent9fa14396e6e60bafc4718e18a23073ff0276b53b (diff)
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 <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r--src/optimize.c3
1 files changed, 3 insertions, 0 deletions
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)