diff options
author | Eric Leblond <eric@regit.org> | 2013-11-18 00:54:44 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-11-19 21:12:51 +0100 |
commit | b342ba4a765340dbc7cfd4d510485f95a6edcbe3 (patch) | |
tree | de083f1424a5d239420e88db26bd4470e2a1ccae /src/netlink_linearize.c | |
parent | 2fa5858b898241af3c23f15ccc6fb14feeddc4bf (diff) |
jump: fix logic in netlink linearize
Logic in the test was inverted. The result was the jump string
not to be set.
Reported-by: Alex Chapman <ajchapman88@hotmail.co.uk>
Signed-off-by: Eric Leblond <eric@regit.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/netlink_linearize.c')
-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); } |