This checks p->chain for existence, not cs->jumpto. Fixes this bogus
error message:

| # iptables-nft -t nat -A FORWARD -j ACCEPT
| iptables v1.8.1 (nf_tables): Chain 'ACCEPT' does not exist

Fixes: b6a06c1a215f8 ("xtables: Align return codes with legacy iptables")
Signed-off-by: Phil Sutter <p...@nwl.cc>
---
 iptables/xtables.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/iptables/xtables.c b/iptables/xtables.c
index 0038804e288c6..429bd652cc439 100644
--- a/iptables/xtables.c
+++ b/iptables/xtables.c
@@ -1065,7 +1065,7 @@ void do_parse(struct nft_handle *h, int argc, char 
*argv[],
 
                if (!p->xlate && !nft_chain_exists(h, p->table, p->chain))
                        xtables_error(OTHER_PROBLEM,
-                                     "Chain '%s' does not exist", cs->jumpto);
+                                     "Chain '%s' does not exist", p->chain);
 
                if (!p->xlate && !cs->target && strlen(cs->jumpto) > 0 &&
                    !nft_chain_exists(h, p->table, cs->jumpto))
-- 
2.19.0

Reply via email to