From 6e98b2e5008ffabfda8d1c10778717f972b54398 Mon Sep 17 00:00:00 2001
From: jwolf <523083921@qq.com>
Date: Mon, 22 Jul 2024 14:58:27 +0800
Subject: [PATCH] cpu_utility and cpu_patrol musht be an integer

---
 src/c/catcli/catlib/cli_param_checker.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/c/catcli/catlib/cli_param_checker.c b/src/c/catcli/catlib/cli_param_checker.c
index a1aa636..e400428 100644
--- a/src/c/catcli/catlib/cli_param_checker.c
+++ b/src/c/catcli/catlib/cli_param_checker.c
@@ -2,6 +2,7 @@
 #include <sys/un.h>
 #include <regex.h>
 #include <stdbool.h>
+#include <string.h>
 #include <limits.h>
 #include <unistd.h>
 #include "cli_common.h"
@@ -13,7 +14,7 @@
 void checkset_cpu_usage_percentage(char *getopt_optarg, catcli_request_body *p_request_body, struct option_errs *errs)
 {
     long cpu_utility = strtol(getopt_optarg, NULL, DECIMAL);
-    if (cpu_utility <= 0 || cpu_utility > CPU_USAGE_PERCENTAGE_MAX) {
+    if (cpu_utility <= 0 || cpu_utility > CPU_USAGE_PERCENTAGE_MAX || strchr(getopt_optarg, '.') != NULL) {
         strncpy(errs->patrol_module_err,
             "\"cpu_utility \" must be an integer greater in the range (0,100],correct \"-u, --cpu_utility\"\n", MAX_ERR_LEN);
     }
@@ -68,7 +69,7 @@ void checkset_cpulist(char *getopt_optarg, catcli_request_body *p_request_body,
 void checkset_patrol_time(char *getopt_optarg, catcli_request_body *p_request_body, struct option_errs *errs)
 {
     long second = strtol(getopt_optarg, NULL, DECIMAL);
-    if (second <= 0 || second > INT_MAX) {
+    if (second <= 0 || second > INT_MAX || strchr(getopt_optarg, '.') != NULL) {
         strncpy(errs->patrol_time_err,
             "\"patrol_second\" must be a number in the range of (0,INT_MAX] ,correct \"-t, --patrol_second\"\n",
             MAX_ERR_LEN);
-- 
Gitee
