[LTP] [PATCH v3 2/3] lib: Replace atoi/atof with SAFE_STRTOL/SAFE_STRTOF
Zhao Gongyi
zhaogongyi@huawei.com
Mon Dec 5 07:54:31 CET 2022
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 | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/lib/tst_test.c b/lib/tst_test.c
index b62559d75..23d21c825 100644
--- a/lib/tst_test.c
+++ b/lib/tst_test.c
@@ -14,6 +14,7 @@
#include <sys/mount.h>
#include <sys/types.h>
#include <sys/wait.h>
+#include <math.h>
#define TST_NO_DEFAULT_MAIN
#include "tst_test.h"
@@ -677,15 +678,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, 0.1, HUGE_VALF);
break;
case 'C':
#ifdef UCLINUX
--
2.17.1
More information about the ltp
mailing list