From 16759717a9222ab3a463d30b8b6d9b19c249eb65 Mon Sep 17 00:00:00 2001 From: xuezhou_yan Date: Fri, 13 Dec 2024 17:31:31 +0800 Subject: [PATCH] =?UTF-8?q?#isssue:IBB6QI=20=E5=AE=89=E5=85=A8=E5=91=8A?= =?UTF-8?q?=E8=AD=A6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xuezhou_yan --- src/create_pcid.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/create_pcid.c b/src/create_pcid.c index 5a8a327..77ba9b0 100644 --- a/src/create_pcid.c +++ b/src/create_pcid.c @@ -523,6 +523,10 @@ int32_t DecodePCID(char *inputFile, char *outDirPath) } freePcidJsonInfo.strJson = cJSON_Print(freePcidJsonInfo.jsonRootObj); + if (freePcidJsonInfo.strJson == NULL) { + PRINT_ERR("cJSON_Print failed\n"); + return FreeAfterDecodePCID(freePcidJsonInfo, FREE_DECODE_PCID_ROOT_OUT, -1); + } const char outputFileName[] = "pcid.json"; ret = ConvertedContextSaveAsFile(outDirPath, outputFileName, freePcidJsonInfo.strJson, @@ -615,7 +619,7 @@ static int32_t AddOsSyscapToJsonObj(uint32_t *osSyscapArray, uint32_t osSyscapAr if (osSyscapArrayLen != OS_SYSCAP_NUM) { PRINT_ERR("Input os syscap array len error.\n"); - free(sysCapArray); + cJSON_Delete(sysCapArray); return -1; } uint8_t *osSysCapArrayUint8 = (uint8_t *)osSyscapArray; @@ -638,7 +642,7 @@ static int32_t AddOsSyscapToJsonObj(uint32_t *osSyscapArray, uint32_t osSyscapAr } if (!cJSON_AddItemToArray(sysCapArray, cJSON_CreateString(g_arraySyscap[j].str))) { PRINT_ERR("Add os syscap string to json failed.\n"); - free(sysCapArray); + cJSON_Delete(sysCapArray); return -1; } break; @@ -647,7 +651,7 @@ static int32_t AddOsSyscapToJsonObj(uint32_t *osSyscapArray, uint32_t osSyscapAr if (!cJSON_AddItemToObject(sysCapObj, "os", sysCapArray)) { PRINT_ERR("Add os syscap item to json object failed.\n"); - free(sysCapArray); + cJSON_Delete(sysCapArray); return -1; } return 0; -- Gitee