[SBI] Crash occurs when ENUM in the MAP (#2103)

This commit is contained in:
Sukchan Lee 2023-03-01 17:50:25 +09:00
parent ce668c556c
commit 969c116e77
1097 changed files with 266728 additions and 42047 deletions

View file

@ -30,17 +30,22 @@ OpenAPI_tsn_bridge_info_t *OpenAPI_tsn_bridge_info_create(
void OpenAPI_tsn_bridge_info_free(OpenAPI_tsn_bridge_info_t *tsn_bridge_info)
{
OpenAPI_lnode_t *node = NULL;
if (NULL == tsn_bridge_info) {
return;
}
OpenAPI_lnode_t *node;
ogs_free(tsn_bridge_info->dstt_addr);
if (tsn_bridge_info->dstt_addr) {
ogs_free(tsn_bridge_info->dstt_addr);
tsn_bridge_info->dstt_addr = NULL;
}
ogs_free(tsn_bridge_info);
}
cJSON *OpenAPI_tsn_bridge_info_convertToJSON(OpenAPI_tsn_bridge_info_t *tsn_bridge_info)
{
cJSON *item = NULL;
OpenAPI_lnode_t *node = NULL;
if (tsn_bridge_info == NULL) {
ogs_error("OpenAPI_tsn_bridge_info_convertToJSON() failed [TsnBridgeInfo]");
@ -83,8 +88,12 @@ end:
OpenAPI_tsn_bridge_info_t *OpenAPI_tsn_bridge_info_parseFromJSON(cJSON *tsn_bridge_infoJSON)
{
OpenAPI_tsn_bridge_info_t *tsn_bridge_info_local_var = NULL;
cJSON *bridge_id = cJSON_GetObjectItemCaseSensitive(tsn_bridge_infoJSON, "bridgeId");
OpenAPI_lnode_t *node = NULL;
cJSON *bridge_id = NULL;
cJSON *dstt_addr = NULL;
cJSON *dstt_port_num = NULL;
cJSON *dstt_resid_time = NULL;
bridge_id = cJSON_GetObjectItemCaseSensitive(tsn_bridge_infoJSON, "bridgeId");
if (bridge_id) {
if (!cJSON_IsNumber(bridge_id)) {
ogs_error("OpenAPI_tsn_bridge_info_parseFromJSON() failed [bridge_id]");
@ -92,17 +101,15 @@ OpenAPI_tsn_bridge_info_t *OpenAPI_tsn_bridge_info_parseFromJSON(cJSON *tsn_brid
}
}
cJSON *dstt_addr = cJSON_GetObjectItemCaseSensitive(tsn_bridge_infoJSON, "dsttAddr");
dstt_addr = cJSON_GetObjectItemCaseSensitive(tsn_bridge_infoJSON, "dsttAddr");
if (dstt_addr) {
if (!cJSON_IsString(dstt_addr)) {
if (!cJSON_IsString(dstt_addr) && !cJSON_IsNull(dstt_addr)) {
ogs_error("OpenAPI_tsn_bridge_info_parseFromJSON() failed [dstt_addr]");
goto end;
}
}
cJSON *dstt_port_num = cJSON_GetObjectItemCaseSensitive(tsn_bridge_infoJSON, "dsttPortNum");
dstt_port_num = cJSON_GetObjectItemCaseSensitive(tsn_bridge_infoJSON, "dsttPortNum");
if (dstt_port_num) {
if (!cJSON_IsNumber(dstt_port_num)) {
ogs_error("OpenAPI_tsn_bridge_info_parseFromJSON() failed [dstt_port_num]");
@ -110,8 +117,7 @@ OpenAPI_tsn_bridge_info_t *OpenAPI_tsn_bridge_info_parseFromJSON(cJSON *tsn_brid
}
}
cJSON *dstt_resid_time = cJSON_GetObjectItemCaseSensitive(tsn_bridge_infoJSON, "dsttResidTime");
dstt_resid_time = cJSON_GetObjectItemCaseSensitive(tsn_bridge_infoJSON, "dsttResidTime");
if (dstt_resid_time) {
if (!cJSON_IsNumber(dstt_resid_time)) {
ogs_error("OpenAPI_tsn_bridge_info_parseFromJSON() failed [dstt_resid_time]");
@ -122,7 +128,7 @@ OpenAPI_tsn_bridge_info_t *OpenAPI_tsn_bridge_info_parseFromJSON(cJSON *tsn_brid
tsn_bridge_info_local_var = OpenAPI_tsn_bridge_info_create (
bridge_id ? true : false,
bridge_id ? bridge_id->valuedouble : 0,
dstt_addr ? ogs_strdup(dstt_addr->valuestring) : NULL,
dstt_addr && !cJSON_IsNull(dstt_addr) ? ogs_strdup(dstt_addr->valuestring) : NULL,
dstt_port_num ? true : false,
dstt_port_num ? dstt_port_num->valuedouble : 0,
dstt_resid_time ? true : false,