!443 修改安全和告警规范问题

Merge pull request !443 from csliutt/master
This commit is contained in:
openharmony_ci
2024-05-28 08:49:59 +00:00
committed by Gitee
5 changed files with 29 additions and 15 deletions
+4 -1
View File
@@ -16,7 +16,10 @@
"name": "syscap_codec",
"subsystem": "developtools",
"syscap": [ "SystemCapability.Developtools.Syscap" ],
"feature": [ "syscap_codec_config_path" ],
"feature": [
"syscap_codec_config_path",
"syscap_codec_config_extern_path"
],
"adapted_system_type": [ "small", "standard" ],
"rom": "0",
"ram": "0",
+4
View File
@@ -249,6 +249,7 @@ bool DecodePrivateSyscap(char *input, char (**output)[SINGLE_SYSCAP_LEN], int *o
*bufferPos = '\0';
if (sprintf_s(*outputArray, SINGLE_SYSCAP_LEN, "SystemCapability.%s", buffer) == -1) {
free(outputArray);
outputArray = NULL;
return false;
}
bufferPos = buffer;
@@ -515,7 +516,10 @@ char *DecodeRpcidToStringFormat(const char *inputFile)
}
PartSysCapAndOutBuffer(freeAfterDecodeRpcidInfo, outBuffer, priSyscapArray, sysCapArray);
free(priSyscapArray);
priSyscapArray = NULL;
return FreeAfterDecodeRpcidToString(freeAfterDecodeRpcidInfo, FREE_MALLOC_PRISYSCAP_AFTER_DECODE_RPCID, outBuffer);
}
+10 -4
View File
@@ -112,7 +112,7 @@ static char* GetSystemCapability()
bool retBool;
int retError, priOutputLen, priCapArrayCnt;
char osOutput[SINGLE_SYSCAP_LEN] = {};
uint32_t *osCapU32 = nullptr;
char *priOutput = nullptr;
@@ -149,14 +149,13 @@ FREE_PRIOUTPUT:
return allSyscapBuffer;
}
napi_value QuerySystemCapability(napi_env env, napi_callback_info info)
napi_value PreHandleSystemCapability(
napi_env env, napi_callback_info info, SystemCapabilityAsyncContext *asyncContext)
{
GET_PARAMS(env, info, 1);
NAPI_ASSERT(env, argc <= 1, "too many parameters");
napi_value result = nullptr;
SystemCapabilityAsyncContext* asyncContext = new SystemCapabilityAsyncContext();
asyncContext->env = env;
napi_valuetype valueType = napi_undefined;
@@ -172,6 +171,13 @@ napi_value QuerySystemCapability(napi_env env, napi_callback_info info)
} else {
napi_get_undefined(env, &result);
}
return result;
}
napi_value QuerySystemCapability(napi_env env, napi_callback_info info)
{
SystemCapabilityAsyncContext *asyncContext = new SystemCapabilityAsyncContext();
napi_value result = PreHandleSystemCapability(env, info, asyncContext);
napi_value resource = nullptr;
napi_create_string_utf8(env, "napi_value QuerySystemCapability", NAPI_AUTO_LENGTH, &resource);
+2 -3
View File
@@ -344,7 +344,6 @@ int32_t GetOsSyscap(PCIDMain *pcidMain, cJSON *sysCapObject)
return -1;
}
cJSON_Delete(capVectorPtr);
return 0;
}
@@ -362,7 +361,7 @@ int32_t GetPriSyscap(PCIDMain *pcidMain, cJSON *sysCapObject, size_t contextBufL
return -1;
}
if (contextBufLen < 0 || contextBufLen > UINT32_MAX) {
if (contextBufLen > UINT32_MAX) {
PRINT_ERR("the data privateSyscapLen is out of scope.");
return GetPriSyscapResult(capVectorPtr, -1);
}
@@ -898,7 +897,7 @@ int32_t EncodePcidscToString(char *inputFile, char *outDirPath)
freePcidInfo.priSyscapFull = (char *)malloc(priSyscapCount * SINGLE_SYSCAP_LEN);
if (freePcidInfo.priSyscapFull == NULL) {
PRINT_ERR("malloc failed\n");
return FreeAfterEncodePCID(freePcidInfo, FREE_ENCODE_PCID_PRISYSCAP_FULL_OUT, ret);
return FreeAfterEncodePCID(freePcidInfo, FREE_ENCODE_PCID_CONTEXT_OUT, ret);
}
(void)memset_s(freePcidInfo.priSyscapFull, priSyscapCount * SINGLE_SYSCAP_LEN,
0, priSyscapCount * SINGLE_SYSCAP_LEN);
+9 -7
View File
@@ -121,11 +121,13 @@ static int32_t FillOsCapLength(char *convertedBuffer, char *contextBuffer, struc
return ret;
}
static int32_t FreeAfterRPCIDEncode(char *convertedBuffer, char *contextBuffer, int32_t type, int32_t ret)
static int32_t FreeAfterRPCIDEncode(
cJSON *cjsonObjectRoot, char *convertedBuffer, char *contextBuffer, int32_t type, int32_t ret)
{
if (type == FREE_CONVERT_OUT_RPCID_ENCODE) {
free(convertedBuffer);
}
cJSON_Delete(cjsonObjectRoot);
FreeContextBuffer(contextBuffer);
return ret;
}
@@ -150,19 +152,19 @@ int32_t RPCIDEncode(char *inputFile, char *outputPath)
gJsonObjectSysCap.cjsonObjectRoot = cJSON_ParseWithLength(contextBuffer, bufferLen);
if (gJsonObjectSysCap.cjsonObjectRoot == NULL) {
PRINT_ERR("cJSON_Parse failed, context buffer is:\n%s\n", contextBuffer);
return FreeAfterRPCIDEncode(convertedBuffer, contextBuffer, FREE_CONTEXT_OUT_RPCID_ENCODE, -1);
return FreeAfterRPCIDEncode(gJsonObjectSysCap.cjsonObjectRoot, convertedBuffer, contextBuffer, FREE_CONTEXT_OUT_RPCID_ENCODE, -1);
}
gJsonObjectSysCap.sysCapPtr = cJSON_GetObjectItem(gJsonObjectSysCap.cjsonObjectRoot, "syscap");
if (gJsonObjectSysCap.sysCapPtr == NULL || !cJSON_IsArray(gJsonObjectSysCap.sysCapPtr)) {
PRINT_ERR("get \"syscap\" object failed.\n");
return FreeAfterRPCIDEncode(convertedBuffer, contextBuffer, FREE_CONTEXT_OUT_RPCID_ENCODE, -1);
return FreeAfterRPCIDEncode(gJsonObjectSysCap.cjsonObjectRoot, convertedBuffer, contextBuffer, FREE_CONTEXT_OUT_RPCID_ENCODE, -1);
}
ret = cJSON_GetArraySize(gJsonObjectSysCap.sysCapPtr);
if (ret < 0) {
PRINT_ERR("get \"syscap\" array size failed\n");
return FreeAfterRPCIDEncode(convertedBuffer, contextBuffer, FREE_CONTEXT_OUT_RPCID_ENCODE, -1);
return FreeAfterRPCIDEncode(gJsonObjectSysCap.cjsonObjectRoot, convertedBuffer, contextBuffer, FREE_CONTEXT_OUT_RPCID_ENCODE, -1);
}
sysCapSize = (uint32_t)ret;
// 2, to save SysCaptype & SysCapLength
@@ -171,19 +173,19 @@ int32_t RPCIDEncode(char *inputFile, char *outputPath)
convertedBuffer = (char *)malloc(convertedBufLen);
if (convertedBuffer == NULL) {
PRINT_ERR("malloc failed\n");
return FreeAfterRPCIDEncode(convertedBuffer, contextBuffer, FREE_CONTEXT_OUT_RPCID_ENCODE, -1);
return FreeAfterRPCIDEncode(gJsonObjectSysCap.cjsonObjectRoot, convertedBuffer, contextBuffer, FREE_CONTEXT_OUT_RPCID_ENCODE, -1);
}
(void)memset_s(convertedBuffer, convertedBufLen, 0, convertedBufLen);
ret = FillOsCapLength(convertedBuffer, contextBuffer, gJsonObjectSysCap, sysCapSize, ret);
if (ret == -1) {
return FreeAfterRPCIDEncode(convertedBuffer, contextBuffer, FREE_CONVERT_OUT_RPCID_ENCODE, ret);
return FreeAfterRPCIDEncode(gJsonObjectSysCap.cjsonObjectRoot, convertedBuffer, contextBuffer,FREE_CONVERT_OUT_RPCID_ENCODE, ret);
}
ret = ConvertedContextSaveAsFile(outputPath, "rpcid.sc", convertedBuffer, convertedBufLen);
if (ret != 0) {
PRINT_ERR("ConvertedContextSaveAsFile failed, outputPath:%s, filename:rpcid.sc\n", outputPath);
}
return FreeAfterRPCIDEncode(convertedBuffer, contextBuffer, FREE_CONVERT_OUT_RPCID_ENCODE, ret);
return FreeAfterRPCIDEncode(gJsonObjectSysCap.cjsonObjectRoot, convertedBuffer, contextBuffer,FREE_CONVERT_OUT_RPCID_ENCODE, ret);
}
static int32_t ParseRpcidToJson(char *input, uint32_t inputLen, cJSON *rpcidJson)