diff --git a/services/pms_client/perm_client.c b/services/pms_client/perm_client.c index 5ec1c7018e577cd5561714562e79339d863850b6..3bd86f49bf57fe151902a4ea1f3d543f69b27a35 100644 --- a/services/pms_client/perm_client.c +++ b/services/pms_client/perm_client.c @@ -239,13 +239,8 @@ static int ParsePermissions(const char *jsonStr, PermissionSaved **perms, int *p *perms = NULL; return PERM_ERRORCODE_JSONPARSE_FAIL; } - if (strcpy_s((*perms + i)->name, PERM_NAME_LEN, itemName->valuestring) != EOK) { - cJSON_Delete(root); - free(*perms); - *perms = NULL; - return PERM_ERRORCODE_COPY_ERROR; - } - if (strcpy_s((*perms + i)->desc, PERM_DESC_LEN, itemDesc->valuestring) != EOK) { + if (strcpy_s((*perms + i)->name, PERM_NAME_LEN, itemName->valuestring) != EOK + || strcpy_s((*perms + i)->desc, PERM_DESC_LEN, itemDesc->valuestring) != EOK) { cJSON_Delete(root); free(*perms); *perms = NULL;