]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
selftests/bpf: fix a test for snprintf() overflow
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 19 Jul 2022 09:50:32 +0000 (12:50 +0300)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 19 Jul 2022 17:45:45 +0000 (10:45 -0700)
The snprintf() function returns the number of bytes which *would*
have been copied if there were space.  In other words, it can be
> sizeof(pin_path).

Fixes: c0fa1b6c3efc ("bpf: btf: Add BTF tests")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/r/YtZ+aD/tZMkgOUw+@kili
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/prog_tests/btf.c

index 941b0100bafa442e7d65ad8e8a418e22332cbb7d..ef6528b8084c442d5f58a8dd0889adc65d887407 100644 (file)
@@ -5338,7 +5338,7 @@ static void do_test_pprint(int test_num)
        ret = snprintf(pin_path, sizeof(pin_path), "%s/%s",
                       "/sys/fs/bpf", test->map_name);
 
-       if (CHECK(ret == sizeof(pin_path), "pin_path %s/%s is too long",
+       if (CHECK(ret >= sizeof(pin_path), "pin_path %s/%s is too long",
                  "/sys/fs/bpf", test->map_name)) {
                err = -1;
                goto done;