summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2022-08-09 22:18:14 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2022-08-11 16:23:15 +0200
commit2fec3ccb17d005b390598dca7837d17613d56d63 (patch)
tree1b622849665b81f4a81d487578491acaa25b335e /src
parentb9df658a5e384f80e88c1b45ba5c29f4b24bed13 (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')
-rw-r--r--src/optimize.c4
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;