]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
xtables-translate: don't fail if help was requested
authorArturo Borrero Gonzalez <arturo@netfilter.org>
Tue, 16 Jun 2020 09:20:42 +0000 (11:20 +0200)
committerArturo Borrero Gonzalez <arturo@netfilter.org>
Tue, 16 Jun 2020 09:20:42 +0000 (11:20 +0200)
If the user called `iptables-translate -h` then we have CMD_NONE and we should gracefully handle
this case in do_command_xlate().

Before this patch, you would see:

 user@debian:~$ sudo iptables-translate -h
 [..]
 nft Unsupported command?
 user@debian:~$ echo $?
 1

After this patch:

 user@debian:~$ sudo iptables-translate -h
 [..]
 user@debian:~$ echo $?
 0

Fixes: d4409d449c10fa ("nft: Don't exit early after printing help texts")
Acked-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Arturo Borrero Gonzalez <arturo@netfilter.org>
iptables/xtables-translate.c

index 5aa42496b5a481b50760bea51d2cd33cad7ce159..363c8be15b3fa22bab03d22f098c810ae4613501 100644 (file)
@@ -249,7 +249,7 @@ static int do_command_xlate(struct nft_handle *h, int argc, char *argv[],
 
        cs.restore = restore;
 
-       if (!restore)
+       if (!restore && p.command != CMD_NONE)
                printf("nft ");
 
        switch (p.command) {
@@ -310,6 +310,9 @@ static int do_command_xlate(struct nft_handle *h, int argc, char *argv[],
                break;
        case CMD_SET_POLICY:
                break;
+       case CMD_NONE:
+               ret = 1;
+               break;
        default:
                /* We should never reach this... */
                printf("Unsupported command?\n");