From 84f8d298c07dabb3225abb2951f56223653780b9 Mon Sep 17 00:00:00 2001 From: liutuantuan Date: Wed, 24 Jul 2024 15:26:46 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E9=80=9A=E7=94=A8=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liutuantuan --- interfaces/inner_api/syscap_interface.c | 1 + src/context_tool.c | 1 + src/create_pcid.c | 6 ++++++ src/syscap_tool.c | 1 + 4 files changed, 9 insertions(+) diff --git a/interfaces/inner_api/syscap_interface.c b/interfaces/inner_api/syscap_interface.c index 017eb5b..70e4e52 100644 --- a/interfaces/inner_api/syscap_interface.c +++ b/interfaces/inner_api/syscap_interface.c @@ -652,6 +652,7 @@ int32_t ComparePcidString(const char *pcidString, const char *rpcidString, Compa &pcidPriSyscapInfo.rpcidPriSyscap, &pcidPriSyscapInfo.rpcidPriSyscapLen); if (pcidPriSyscapInfo.ret != 0) { PRINT_ERR("Separate syscap from string failed. ret = %d\n", pcidPriSyscapInfo.ret); + free(pcidPriSyscapInfo.rpcidPriSyscap); return -1; } result->missSyscapNum = 0; diff --git a/src/context_tool.c b/src/context_tool.c index 60e5e4c..5d0eba1 100644 --- a/src/context_tool.c +++ b/src/context_tool.c @@ -160,6 +160,7 @@ int32_t CheckRpcidFormat(const char *inputFile, char **buffer, uint32_t *len) rpcidHeader = (RPCIDHead *)contextBuffer; if (rpcidHeader->apiVersionType != 1) { PRINT_ERR("Parse file failed(apiVersionType != 1), input file : %s\n", inputFile); + free(contextBuffer); return -1; } sysCaptype = NtohsInter(*(uint16_t *)(rpcidHeader + 1)); diff --git a/src/create_pcid.c b/src/create_pcid.c index 09aaa64..0623c61 100644 --- a/src/create_pcid.c +++ b/src/create_pcid.c @@ -735,6 +735,12 @@ int32_t DecodeStringPCIDToJson(char *input, char *outDirPath) PRINT_ERR("Add os syscap json object failed.\n"); goto ADD_JSON_FAILED; } + + if (priSyscapStr == null){ + PRINT_ERR("priSyscapStr is null.\n"); + goto ADD_JSON_FAILED; + } + if (AddPriSyscapToJsonObj(priSyscapStr, (uint32_t)strlen(priSyscapStr), sysCapObj) != 0) { PRINT_ERR("Add private syscap json object failed.\n"); goto ADD_JSON_FAILED; diff --git a/src/syscap_tool.c b/src/syscap_tool.c index 3bcd76a..5093b0f 100644 --- a/src/syscap_tool.c +++ b/src/syscap_tool.c @@ -705,6 +705,7 @@ int32_t ComparePcidWithRpcidString(char *pcidFile, char *rpcidFile, uint32_t typ &rpcidPriSyscap, &rpcidPriSyscapLen); if (ret != 0) { PRINT_ERR("Separate syscap from string failed. ret = %d\n", ret); + free(pcidContent); return -1; } -- Gitee From dfb866da718a85fa13c2295bf0777480a02eea0e Mon Sep 17 00:00:00 2001 From: liutuantuan Date: Thu, 25 Jul 2024 16:13:22 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E9=80=9A=E7=94=A8=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liutuantuan --- src/create_pcid.c | 6 ------ src/syscap_tool.c | 3 +++ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/create_pcid.c b/src/create_pcid.c index 0623c61..64814f3 100644 --- a/src/create_pcid.c +++ b/src/create_pcid.c @@ -705,7 +705,6 @@ static int32_t GetSyscapStr(char *input, char const *priSyscapStr, uint32_t* osS return -1; } priSyscapStr = ctx; - free(ctx); return 0; } @@ -736,11 +735,6 @@ int32_t DecodeStringPCIDToJson(char *input, char *outDirPath) goto ADD_JSON_FAILED; } - if (priSyscapStr == null){ - PRINT_ERR("priSyscapStr is null.\n"); - goto ADD_JSON_FAILED; - } - if (AddPriSyscapToJsonObj(priSyscapStr, (uint32_t)strlen(priSyscapStr), sysCapObj) != 0) { PRINT_ERR("Add private syscap json object failed.\n"); goto ADD_JSON_FAILED; diff --git a/src/syscap_tool.c b/src/syscap_tool.c index 5093b0f..411725d 100644 --- a/src/syscap_tool.c +++ b/src/syscap_tool.c @@ -706,6 +706,9 @@ int32_t ComparePcidWithRpcidString(char *pcidFile, char *rpcidFile, uint32_t typ if (ret != 0) { PRINT_ERR("Separate syscap from string failed. ret = %d\n", ret); free(pcidContent); + free(rpcidContent); + free(pcidPriSyscap); + free(rpcidPriSyscap); return -1; } -- Gitee From ac1b341827ccf2593fa42365fc37018a8dceb433 Mon Sep 17 00:00:00 2001 From: liutuantuan Date: Fri, 26 Jul 2024 10:19:18 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E9=80=9A=E7=94=A8=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liutuantuan --- src/syscap_tool.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/syscap_tool.c b/src/syscap_tool.c index 411725d..705693d 100644 --- a/src/syscap_tool.c +++ b/src/syscap_tool.c @@ -658,7 +658,7 @@ int32_t ComparePriSyscap(char *pcid, char *rpcid, uint32_t pcidLen, uint32_t rpc return prisyscapFlag; } -int32_t CompoareVersion(uint32_t *pcidOsArray, uint32_t *rpcidOsAarry) +int32_t CompareVersion(uint32_t *pcidOsArray, uint32_t *rpcidOsAarry) { int32_t versionFlag = 0; uint16_t pcidVersion = NtohsInter(((PCIDMain *)pcidOsArray)->apiVersion); @@ -712,7 +712,7 @@ int32_t ComparePcidWithRpcidString(char *pcidFile, char *rpcidFile, uint32_t typ return -1; } - int32_t versionFlag = CompoareVersion(pcidOsArray, rpcidOsAarry); + int32_t versionFlag = CompareVersion(pcidOsArray, rpcidOsAarry); int32_t ossyscapFlag = CompareOsSyscap(pcidOsArray, rpcidOsAarry); int32_t prisyscapFlag = ComparePriSyscap(pcidPriSyscap, rpcidPriSyscap, pcidPriSyscapLen, rpcidPriSyscapLen); if (!versionFlag && !ossyscapFlag && !prisyscapFlag) { -- Gitee From dc8d784876946737911062e4deee2bd35a022c11 Mon Sep 17 00:00:00 2001 From: liutuantuan Date: Fri, 26 Jul 2024 16:06:53 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E9=80=9A=E7=94=A8=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liutuantuan --- src/syscap_tool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/syscap_tool.c b/src/syscap_tool.c index 705693d..b2ab4fd 100644 --- a/src/syscap_tool.c +++ b/src/syscap_tool.c @@ -658,7 +658,7 @@ int32_t ComparePriSyscap(char *pcid, char *rpcid, uint32_t pcidLen, uint32_t rpc return prisyscapFlag; } -int32_t CompareVersion(uint32_t *pcidOsArray, uint32_t *rpcidOsAarry) +static int32_t CompareVersion(uint32_t *pcidOsArray, uint32_t *rpcidOsAarry) { int32_t versionFlag = 0; uint16_t pcidVersion = NtohsInter(((PCIDMain *)pcidOsArray)->apiVersion); -- Gitee From 17d2e100df64a3e34d43eb501a27df0c144e66cb Mon Sep 17 00:00:00 2001 From: liutuantuan Date: Sat, 27 Jul 2024 15:46:24 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E9=80=9A=E7=94=A8=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liutuantuan --- src/context_tool.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/context_tool.c b/src/context_tool.c index 5d0eba1..1440a6b 100644 --- a/src/context_tool.c +++ b/src/context_tool.c @@ -155,6 +155,7 @@ int32_t CheckRpcidFormat(const char *inputFile, char **buffer, uint32_t *len) } if (bufferLen < (2 * sizeof(uint32_t))) { // 2, header of rpcid.sc PRINT_ERR("Parse file failed(format is invalid), input file : %s\n", inputFile); + free(contextBuffer); return -1; } rpcidHeader = (RPCIDHead *)contextBuffer; -- Gitee From c970fe94956f19a89c86c0d038441622943504c8 Mon Sep 17 00:00:00 2001 From: liutuantuan Date: Sat, 27 Jul 2024 15:46:24 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E9=80=9A=E7=94=A8=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liutuantuan --- interfaces/inner_api/syscap_interface.c | 1 - src/context_tool.c | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/inner_api/syscap_interface.c b/interfaces/inner_api/syscap_interface.c index 70e4e52..017eb5b 100644 --- a/interfaces/inner_api/syscap_interface.c +++ b/interfaces/inner_api/syscap_interface.c @@ -652,7 +652,6 @@ int32_t ComparePcidString(const char *pcidString, const char *rpcidString, Compa &pcidPriSyscapInfo.rpcidPriSyscap, &pcidPriSyscapInfo.rpcidPriSyscapLen); if (pcidPriSyscapInfo.ret != 0) { PRINT_ERR("Separate syscap from string failed. ret = %d\n", pcidPriSyscapInfo.ret); - free(pcidPriSyscapInfo.rpcidPriSyscap); return -1; } result->missSyscapNum = 0; diff --git a/src/context_tool.c b/src/context_tool.c index 5d0eba1..1440a6b 100644 --- a/src/context_tool.c +++ b/src/context_tool.c @@ -155,6 +155,7 @@ int32_t CheckRpcidFormat(const char *inputFile, char **buffer, uint32_t *len) } if (bufferLen < (2 * sizeof(uint32_t))) { // 2, header of rpcid.sc PRINT_ERR("Parse file failed(format is invalid), input file : %s\n", inputFile); + free(contextBuffer); return -1; } rpcidHeader = (RPCIDHead *)contextBuffer; -- Gitee