From 6ff3d58a0fd4ac00a51ff2941dcbee4e6040c346 Mon Sep 17 00:00:00 2001 From: "Mr.zhao" Date: Thu, 3 Apr 2025 08:07:16 +0000 Subject: [PATCH 1/2] update src/create_pcid.c. Signed-off-by: Mr.zhao --- src/create_pcid.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/create_pcid.c b/src/create_pcid.c index cea4e57..a318f29 100644 --- a/src/create_pcid.c +++ b/src/create_pcid.c @@ -356,6 +356,11 @@ int32_t GetPriSyscap(PCIDMain *pcidMain, cJSON *sysCapObject, size_t contextBufL char *tempPriSyscapStr = priSyscapStr; char *ptrPrivateSyscap = (char *)(pcidMain + 1); while (*ptrPrivateSyscap != '\0') { + size_t currentLen = tempPriSyscapStr - priSyscapStr; + if (currentLen >= SINGLE_SYSCAP_LEN - 1) { + printf("Syscap name exceeds maximum length\n"); + return GetPriSyscapResult(capVectorPtr, -1); + } if (*ptrPrivateSyscap == ',') { *tempPriSyscapStr = '\0'; int32_t ret = sprintf_s(fullCapStr, SINGLE_SYSCAP_LEN, "SystemCapability.%s", priSyscapStr); -- Gitee From 603ab82620f84f2978f8726e0c2f8c6a4178bb0f Mon Sep 17 00:00:00 2001 From: "Mr.zhao" Date: Thu, 3 Apr 2025 09:06:40 +0000 Subject: [PATCH 2/2] update src/create_pcid.c. Signed-off-by: Mr.zhao --- src/create_pcid.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/create_pcid.c b/src/create_pcid.c index a318f29..4ba2733 100644 --- a/src/create_pcid.c +++ b/src/create_pcid.c @@ -359,7 +359,7 @@ int32_t GetPriSyscap(PCIDMain *pcidMain, cJSON *sysCapObject, size_t contextBufL size_t currentLen = tempPriSyscapStr - priSyscapStr; if (currentLen >= SINGLE_SYSCAP_LEN - 1) { printf("Syscap name exceeds maximum length\n"); - return GetPriSyscapResult(capVectorPtr, -1); + return -1; } if (*ptrPrivateSyscap == ',') { *tempPriSyscapStr = '\0'; -- Gitee