bpftool: Check argc first before "file" in do_batch()
authorTiezhu Yang <yangtiezhu@loongson.cn>
Tue, 15 Nov 2022 13:00:07 +0000 (21:00 +0800)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 16 Nov 2022 05:36:24 +0000 (21:36 -0800)
If the parameters for batch are more than 2, check argc first can
return immediately, no need to use is_prefix() to check "file" with
a little overhead and then check argc, it is better to check "file"
only when the parameters for batch are 2.

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Acked-by: Stanislav Fomichev <sdf@google.com>
Reviewed-by: Quentin Monnet <quentin@isovalent.com>
Link: https://lore.kernel.org/r/1668517207-11822-1-git-send-email-yangtiezhu@loongson.cn
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/bpf/bpftool/main.c

index 741e50ee0b6c743bd5151df730dc5eee21b1a3da..337ab7977ea4ae2c4caa09f71d3b2c67832a91bf 100644 (file)
@@ -337,12 +337,12 @@ static int do_batch(int argc, char **argv)
        if (argc < 2) {
                p_err("too few parameters for batch");
                return -1;
-       } else if (!is_prefix(*argv, "file")) {
-               p_err("expected 'file', got: %s", *argv);
-               return -1;
        } else if (argc > 2) {
                p_err("too many parameters for batch");
                return -1;
+       } else if (!is_prefix(*argv, "file")) {
+               p_err("expected 'file', got: %s", *argv);
+               return -1;
        }
        NEXT_ARG();