diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-01-26 23:03:45 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-01-26 23:31:12 +0100 |
commit | d0f14b5337e7480c03a31af483d4d94aa4291771 (patch) | |
tree | 0beecc7c85f66b5d354eb4ef311ad4a38c6edbf3 /src/optimize.c | |
parent | 9fa14396e6e60bafc4718e18a23073ff0276b53b (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/optimize.c')
-rw-r--r-- | src/optimize.c | 3 |
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) |