On Tue, Feb 17, 2026 at 11:33:26AM +0330, Mahdi Faramarzpour wrote:
> From: Mahdi Faramarzpour <[email protected]>
> 
> This commit fixes the integer parsing of -t option. The cli parser
> only relies on errno to detect parsing errors. The manpage for
> strtol (https://man7.org/linux/man-pages/man3/strtol.3.html)
> states that the said function "MAY" set errno to EINVAL in case the
> conversion fails. Currently on some systems, this leads to a silent
> failure with return value not being exactly documented in the
> manpages (probably zero). The reliable way to validate the input is
> to check whether the endptr has been bumped all the way to the end
> of the string or not.
> 
> Signd-off-by: Mahdi Faramarzpour <[email protected]>
> Fixes: 146e30554a53 ("selftests/xsk: add option to run single test")

Hi Mahdi, selftests related patches are supposed to be routed via
bpf-next tree. Also your SoB line should be last in the set of tags.

> ---
>  tools/testing/selftests/bpf/xskxceiver.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/testing/selftests/bpf/xskxceiver.c 
> b/tools/testing/selftests/bpf/xskxceiver.c
> index 05b3cebc5..f2d5c4dd2 100644
> --- a/tools/testing/selftests/bpf/xskxceiver.c
> +++ b/tools/testing/selftests/bpf/xskxceiver.c
> @@ -247,9 +247,10 @@ static void parse_command_line(struct ifobject 
> *ifobj_tx, struct ifobject *ifobj
>                       opt_print_tests = true;
>                       break;
>               case 't':
> +                     char *eptr;
>                       errno = 0;
> -                     opt_run_test = strtol(optarg, NULL, 0);
> -                     if (errno)
> +                     opt_run_test = strtol(optarg, &eptr, 0);
> +                     if (errno || *eptr)
>                               print_usage(argv);
>                       break;
>               case 'h':
> -- 
> 2.34.1
> 

Reply via email to