From 6e5aec3b1068ae9b1dcf4c54c20033616d5a0979 Mon Sep 17 00:00:00 2001 From: queyanwen Date: Thu, 12 Oct 2023 11:31:11 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D=EF=BC=8Csizeof=E7=94=A8?= =?UTF-8?q?=E6=B3=95=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pwrapis/src/cpuservice.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pwrapis/src/cpuservice.c b/pwrapis/src/cpuservice.c index feb03e7..b2ff411 100644 --- a/pwrapis/src/cpuservice.c +++ b/pwrapis/src/cpuservice.c @@ -466,16 +466,17 @@ static int GovernorSet(char *gov, char (*policys)[PWR_MAX_ELEMENT_NAME_LEN], int return PWR_ERR_INVALIDE_PARAM; } } - char *govInfo = malloc(strlen(gov) + PWR_MAX_NAME_LEN); + int buffLen = PWR_MAX_NAME_LEN + strlen(gov); + char *govInfo = malloc(buffLen); if (govInfo == NULL) { Logger(ERROR, MD_NM_SVR_CPU, "Malloc failed."); return 1; } - bzero(govInfo, sizeof(strlen(gov) + PWR_MAX_NAME_LEN)); + bzero(govInfo, buffLen); static const char s1[] = "/sys/devices/system/cpu/cpufreq/"; static const char s2[] = "/scaling_governor"; for (i = 0; i < (*poNum); i++) { - StrCopy(govInfo, s1, strlen(gov) + PWR_MAX_NAME_LEN); + StrCopy(govInfo, s1, buffLen); strncat(govInfo, policys[i], strlen(policys[i])); strncat(govInfo, s2, strlen(s2)); int ret = WriteFile(govInfo, gov, strlen(gov)); -- Gitee