diff options
author | Florian Westphal <fw@strlen.de> | 2022-03-04 11:30:55 +0100 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2022-03-04 12:14:39 +0100 |
commit | 4e718641397c876315a87db441afc53139863122 (patch) | |
tree | d657b5b4c4a49c47f87b4aa7e03850030062c372 | |
parent | 1ea71c23c2231e14cbfca059f8650e6709836361 (diff) |
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 <fw@strlen.de>
-rw-r--r-- | src/evaluate.c | 1 | ||||
-rwxr-xr-x | tests/shell/testcases/chains/0041chain_binding_0 | 6 |
2 files changed, 7 insertions, 0 deletions
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 { |