[LTP] [PATCH 2/2] lib: Replace atoi/atof with SAFE_STRTOL/SAFE_STRTOF

Cyril Hrubis chrubis@suse.cz
Wed Nov 30 14:49:39 CET 2022


On Wed, Nov 30, 2022 at 10:19:01AM +0800, Zhao Gongyi via ltp wrote:
> Replace atoi/atof with SAFE_STRTOL/SAFE_STRTOF in parse_opts(),
> it is hoped to deal with the abnormal input.
> 
> Modify the requirement iterations range from '>= 0' to '> 0',
> when iterations' value equal to 0, the test will not run.
> 
> Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com>
> ---
>  lib/tst_test.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/lib/tst_test.c b/lib/tst_test.c
> index b62559d75..254229d96 100644
> --- a/lib/tst_test.c
> +++ b/lib/tst_test.c
> @@ -677,15 +677,13 @@ static void parse_opts(int argc, char *argv[])
>  			print_test_tags();
>  			exit(0);
>  		case 'i':
> -			iterations = atoi(optarg);
> -			if (iterations < 0)
> -				tst_brk(TBROK, "Number of iterations (-i) must be >= 0");
> +			iterations = SAFE_STRTOL(optarg, 1, INT_MAX);
>  		break;
>  		case 'I':
>  			if (tst_test->max_runtime > 0)
> -				tst_test->max_runtime = atoi(optarg);
> +				tst_test->max_runtime = SAFE_STRTOL(optarg, 1, INT_MAX);
>  			else
> -				duration = atof(optarg);
> +				duration = SAFE_STRTOF(optarg);

Shouldn't we limit the duration to positive numbers here as well?

I guess that we should add min and max option to the SAFE_STRTOF() and
call the conversion with SAFE_STRTOF(optarg, 0.1, HUGE_VALF); here
instead.

>  		break;
>  		case 'C':
>  #ifdef UCLINUX
> --
> 2.17.1
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list