[PATCH bpf-next v3] selftests/bpf: Fix issues in parse_num_list()

Yuntao Wang posted 1 patch 4 years, 2 months ago
tools/testing/selftests/bpf/testing_helpers.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH bpf-next v3] selftests/bpf: Fix issues in parse_num_list()
Posted by Yuntao Wang 4 years, 2 months ago
The function does not check that parsing_end is false after parsing
argument. Thus, if the final part of the argument is something like '4-',
which is invalid, parse_num_list() will discard it instead of returning
-EINVAL.

Before:

 $ ./test_progs -n 2,4-
 #2 atomic_bounds:OK
 Summary: 1/0 PASSED, 0 SKIPPED, 0 FAILED

After:

 $ ./test_progs -n 2,4-
 Failed to parse test numbers.

Signed-off-by: Yuntao Wang <ytcoode@gmail.com>
---
v1 -> v2: add more details to commit message
v2 -> v3: remove the first part of the patch

 tools/testing/selftests/bpf/testing_helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/bpf/testing_helpers.c b/tools/testing/selftests/bpf/testing_helpers.c
index 795b6798ccee..87867f7a78c3 100644
--- a/tools/testing/selftests/bpf/testing_helpers.c
+++ b/tools/testing/selftests/bpf/testing_helpers.c
@@ -60,7 +60,7 @@ int parse_num_list(const char *s, bool **num_set, int *num_set_len)
 			set[i] = true;
 	}
 
-	if (!set)
+	if (!set || parsing_end)
 		return -EINVAL;
 
 	*num_set = set;
-- 
2.35.1
Re: [PATCH bpf-next v3] selftests/bpf: Fix issues in parse_num_list()
Posted by patchwork-bot+netdevbpf@kernel.org 4 years, 2 months ago
Hello:

This patch was applied to bpf/bpf-next.git (master)
by Andrii Nakryiko <andrii@kernel.org>:

On Wed,  6 Apr 2022 08:36:22 +0800 you wrote:
> The function does not check that parsing_end is false after parsing
> argument. Thus, if the final part of the argument is something like '4-',
> which is invalid, parse_num_list() will discard it instead of returning
> -EINVAL.
> 
> Before:
> 
> [...]

Here is the summary with links:
  - [bpf-next,v3] selftests/bpf: Fix issues in parse_num_list()
    https://git.kernel.org/bpf/bpf-next/c/958ddfd75d83

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html