diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/netlink_linearize.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/netlink_linearize.c b/src/netlink_linearize.c index da8be202..e64e92a8 100644 --- a/src/netlink_linearize.c +++ b/src/netlink_linearize.c @@ -440,7 +440,8 @@ static void netlink_gen_immediate(struct netlink_linearize_ctx *ctx, nft_rule_expr_set(nle, NFT_EXPR_IMM_DATA, nld.value, nld.len); break; case EXPR_VERDICT: - if (nft_rule_expr_is_set(nle, NFT_EXPR_IMM_CHAIN)) { + if ((expr->chain != NULL) && + !nft_rule_expr_is_set(nle, NFT_EXPR_IMM_CHAIN)) { nft_rule_expr_set_str(nle, NFT_EXPR_IMM_CHAIN, nld.chain); } |