From 9a1e6adff9211c240a53752d307b9005b12d46ad Mon Sep 17 00:00:00 2001 From: xingyihang Date: Sat, 16 May 2026 15:07:06 +0800 Subject: [PATCH] fix: replace strtok with strtok_r for thread safety Co-Authored-By: Agent Signed-off-by: xingyihang Change-Id: I6403a166da59ae58d2e6703a458ab0d6c7d00f6d --- src/create_pcid.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/create_pcid.c b/src/create_pcid.c index 1b08215..e18a8e2 100644 --- a/src/create_pcid.c +++ b/src/create_pcid.c @@ -663,6 +663,7 @@ static int32_t AddOsSyscapToJsonObj(uint32_t *osSyscapArray, uint32_t osSyscapAr static int32_t AddPriSyscapToJsonObj(char *priSyscapString, uint32_t priSyscapStringLen, cJSON *sysCapObj) { char *token = NULL; + char *saveptr = NULL; cJSON *sysCapArray = cJSON_CreateArray(); if (sysCapArray == NULL) { @@ -679,14 +680,14 @@ static int32_t AddPriSyscapToJsonObj(char *priSyscapString, uint32_t priSyscapSt return 0; } - token = strtok(priSyscapString, ","); + token = strtok_r(priSyscapString, ",", &saveptr); while (token != NULL) { if (!cJSON_AddItemToArray(sysCapArray, cJSON_CreateString(token))) { PRINT_ERR("Add private syscap string to json failed.\n"); cJSON_Delete(sysCapArray); return -1; } - token = strtok(NULL, ","); + token = strtok_r(NULL, ",", &saveptr); } if (!cJSON_AddItemToObject(sysCapObj, "private", sysCapArray)) { PRINT_ERR("Add private syscap array to json failed.\n");