diff --git a/interfaces/inner_api/syscap_interface.c b/interfaces/inner_api/syscap_interface.c index bde2735de5dc838b1484e2c9e0afb4c0ddfafe56..e8f9440a581cccd20ce5a1c133d9a6528951cefd 100644 --- a/interfaces/inner_api/syscap_interface.c +++ b/interfaces/inner_api/syscap_interface.c @@ -211,8 +211,13 @@ bool DecodePrivateSyscap(char *input, char (**output)[128], int *outputCnt) } inputPos++; } - inputPos = input; + if (syscapCnt == 0) { + *output = outputArray; + *outputCnt = syscapCnt; + return true; + } + inputPos = input; bufferLen = SYSCAP_STR_LEN_MAX * syscapCnt; outputArray = (char (*)[SYSCAP_STR_LEN_MAX])malloc(bufferLen); if (outputArray == NULL) {