diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-08-09 22:18:14 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-08-11 16:23:15 +0200 |
commit | 2fec3ccb17d005b390598dca7837d17613d56d63 (patch) | |
tree | 1b622849665b81f4a81d487578491acaa25b335e /src/optimize.c | |
parent | b9df658a5e384f80e88c1b45ba5c29f4b24bed13 (diff) |
optimize: merging concatenation is unsupported
Existing concatenation cannot be merge at this stage, skip them
otherwise this assertion is hit:
nft: optimize.c:434: rule_build_stmt_matrix_stmts: Assertion `k >= 0' failed
Extend existing test to cover this.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/optimize.c')
-rw-r--r-- | src/optimize.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/optimize.c b/src/optimize.c index 2340ef46..419a37f2 100644 --- a/src/optimize.c +++ b/src/optimize.c @@ -352,6 +352,10 @@ static int rule_collect_stmts(struct optimize_ctx *ctx, struct rule *rule) clone->ops = &unsupported_stmt_ops; break; } + if (stmt->expr->left->etype == EXPR_CONCAT) { + clone->ops = &unsupported_stmt_ops; + break; + } case STMT_VERDICT: clone->expr = expr_get(stmt->expr); break; |