From: Florian Westphal Date: Fri, 4 Mar 2022 10:30:55 +0000 (+0100) Subject: evaluate: init cmd pointer for new on-stack context X-Git-Tag: v1.0.3~55 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4e718641397c876315a87db441afc53139863122;p=thirdparty%2Fnftables.git evaluate: init cmd pointer for new on-stack context else, this will segfault when trying to print the "table 'x' doesn't exist" error message. Signed-off-by: Florian Westphal --- diff --git a/src/evaluate.c b/src/evaluate.c index 2732f5f4..07a4b0ad 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 59bdbe9f..4b541bb5 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 x, 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 {