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 --- tools/testing/selftests/bpf/prog_tests/btf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/btf.c b/tools/testing/selftests/bpf/prog_tests/btf.c index 941b0100bafa..ef6528b8084c 100644 --- a/tools/testing/selftests/bpf/prog_tests/btf.c +++ b/tools/testing/selftests/bpf/prog_tests/btf.c @@ -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;
On Tue, Jul 19, 2022 at 12:50:32PM +0300, Dan Carpenter wrote:
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).
The current test does not fail on this check, so this could be bpf-next.
Acked-by: Martin KaFai Lau kafai@fb.com
Hello:
This patch was applied to bpf/bpf-next.git (master) by Alexei Starovoitov ast@kernel.org:
On Tue, 19 Jul 2022 12:50:32 +0300 you wrote:
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
[...]
Here is the summary with links: - selftests/bpf: fix a test for snprintf() overflow https://git.kernel.org/bpf/bpf-next/c/c5d22f4cfe8d
You are awesome, thank you!
linux-kselftest-mirror@lists.linaro.org