!45 cherry-pick 修复有符号数转无符号数可能溢出的问题 到 Beta1 分支。

Merge pull request !45 from chenyude/cherry-pick-1653290115
This commit is contained in:
openharmony_ci
2022-05-24 13:43:53 +00:00
committed by Gitee
2 changed files with 10 additions and 3 deletions
+7 -1
View File
@@ -216,7 +216,13 @@ int32_t CreatePCID(char *inputFile, char *outDirPath)
jsonPriSyscapObj = cJSON_GetObjectItem(jsonSyscapObj, "private");
if (jsonPriSyscapObj != NULL && cJSON_IsArray(jsonPriSyscapObj)) {
privateCapSize = cJSON_GetArraySize(jsonPriSyscapObj);
ret = cJSON_GetArraySize(jsonPriSyscapObj);
if (ret < 0) {
PRINT_ERR("get \"private syscap\" array size failed\n");
ret = -1;
goto FREE_CONVERT_OUT;
}
privateCapSize = (uint32_t)ret;
} else if (jsonPriSyscapObj == NULL) {
privateCapSize = 0;
} else {
+3 -2
View File
@@ -627,12 +627,13 @@ int32_t RPCIDEncode(char *inputFile, char *outDirPath)
goto FREE_CONTEXT_OUT;
}
sysCapSize = cJSON_GetArraySize(sysCapPtr);
if (sysCapSize < 0) {
ret = cJSON_GetArraySize(sysCapPtr);
if (ret < 0) {
PRINT_ERR("get \"syscap\" array size failed\n");
ret = -1;
goto FREE_CONTEXT_OUT;
}
sysCapSize = (uint32_t)ret;
// 2, to save SysCaptype & SysCapLength
convertedBufLen += (2 * sizeof(uint16_t) + sysCapSize * SINGLE_FEAT_LENGTH);