else, this will segfault when trying to print the "table 'x' doesn't exist" error message. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> --- src/evaluate.c | 1 + tests/shell/testcases/chains/0041chain_binding_0 | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/evaluate.c b/src/evaluate.c index 2732f5f49e06..07a4b0ad19b0 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -3425,6 +3425,7 @@ static int stmt_evaluate_chain(struct eval_ctx *ctx, struct stmt *stmt) struct eval_ctx rule_ctx = { .nft = ctx->nft, .msgs = ctx->msgs, + .cmd = ctx->cmd, }; struct handle h2 = {}; diff --git a/tests/shell/testcases/chains/0041chain_binding_0 b/tests/shell/testcases/chains/0041chain_binding_0 index 59bdbe9f0ba9..806c17535002 100755 --- a/tests/shell/testcases/chains/0041chain_binding_0 +++ b/tests/shell/testcases/chains/0041chain_binding_0 @@ -1,5 +1,11 @@ #!/bin/bash +# no table z, caused segfault in earlier nft releases +$NFT insert rule inet x y handle 107 'goto { log prefix "MOO! "; }' +if [ $? -ne 1 ]; then + exit 1 +fi + set -e EXPECTED="table inet x { -- 2.34.1