From a634f0741948cada02647b7c35605defdede4e28 Mon Sep 17 00:00:00 2001 From: yudechen Date: Sat, 7 May 2022 14:45:58 +0800 Subject: [PATCH] modify some details of EncodePrivateSyscap. Signed-off-by: yudechen Change-Id: Ice0e16c5dac4242bd27fce7fc740eec232e90035 --- interfaces/inner_api/syscap_interface.c | 13 ++++++++----- src/create_pcid.c | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/interfaces/inner_api/syscap_interface.c b/interfaces/inner_api/syscap_interface.c index 7d6da19..95c0c8f 100644 --- a/interfaces/inner_api/syscap_interface.c +++ b/interfaces/inner_api/syscap_interface.c @@ -111,28 +111,31 @@ bool EncodeOsSyscap(char output[128]) bool EncodePrivateSyscap(char **output, int *outputLen) { int32_t ret; - int32_t res; char *contextBuffer = NULL; char *outputStr = NULL; uint32_t bufferLen; ret = GetFileContext(&contextBuffer, &bufferLen); if (ret != 0) { - PRINT_ERR("GetFileContext failed, input file : rk3568.sc\n"); + PRINT_ERR("GetFileContext failed, input file : /system/etc/PCID.sc\n"); return false; } - *outputLen = bufferLen - MAX_SYSCAP_STR_LEN - 1; + *outputLen = bufferLen - PCID_MAIN_LEN - 1; outputStr = (char *)malloc(*outputLen); if (outputStr == NULL) { PRINT_ERR("malloc buffer failed, size = %d, errno = %d\n", *outputLen, errno); + *outputLen = 0; return false; } (void)memset_s(outputStr, *outputLen, 0, *outputLen); - res = strncpy_s(outputStr, *outputLen + 1, contextBuffer + MAX_SYSCAP_STR_LEN, *outputLen); - if (res != 0) { + + ret = strncpy_s(outputStr, *outputLen, contextBuffer + PCID_MAIN_LEN, *outputLen); + if (ret != 0) { PRINT_ERR("strcpy_s failed."); FreeContextBuffer(contextBuffer); + free(outputStr); + *outputLen = 0; return false; } diff --git a/src/create_pcid.c b/src/create_pcid.c index 388eaa6..dc7d1dc 100644 --- a/src/create_pcid.c +++ b/src/create_pcid.c @@ -209,7 +209,7 @@ int32_t CreatePCID(char *inputFile, char *outDirPath) allPriSyscapStrLen++; // for separator ',' } if ((allPriSyscapStrLen + 1) > PRIVATE_SYSCAP_SIZE) { - PRINT_ERR("context of \"pri\" array is too many\n"); + PRINT_ERR("context of \"pri\" array is too many.\n"); ret = -1; goto FREE_CONVERT_OUT; }