diff --git a/interfaces/inner_api/syscap_interface.c b/interfaces/inner_api/syscap_interface.c index 70e4e52..017eb5b 100644 --- a/interfaces/inner_api/syscap_interface.c +++ b/interfaces/inner_api/syscap_interface.c @@ -652,7 +652,6 @@ int32_t ComparePcidString(const char *pcidString, const char *rpcidString, Compa &pcidPriSyscapInfo.rpcidPriSyscap, &pcidPriSyscapInfo.rpcidPriSyscapLen); if (pcidPriSyscapInfo.ret != 0) { PRINT_ERR("Separate syscap from string failed. ret = %d\n", pcidPriSyscapInfo.ret); - free(pcidPriSyscapInfo.rpcidPriSyscap); return -1; } result->missSyscapNum = 0; diff --git a/src/context_tool.c b/src/context_tool.c index 5d0eba1..1440a6b 100644 --- a/src/context_tool.c +++ b/src/context_tool.c @@ -155,6 +155,7 @@ int32_t CheckRpcidFormat(const char *inputFile, char **buffer, uint32_t *len) } if (bufferLen < (2 * sizeof(uint32_t))) { // 2, header of rpcid.sc PRINT_ERR("Parse file failed(format is invalid), input file : %s\n", inputFile); + free(contextBuffer); return -1; } rpcidHeader = (RPCIDHead *)contextBuffer;