mirror of
https://github.com/open5gs/open5gs.git
synced 2026-05-02 21:30:10 +00:00
[SBI] Crash occurs when ENUM in the MAP (#2103)
This commit is contained in:
parent
ce668c556c
commit
969c116e77
1097 changed files with 266728 additions and 42047 deletions
|
|
@ -22,28 +22,39 @@ OpenAPI_external_unrelated_class_t *OpenAPI_external_unrelated_class_create(
|
|||
|
||||
void OpenAPI_external_unrelated_class_free(OpenAPI_external_unrelated_class_t *external_unrelated_class)
|
||||
{
|
||||
OpenAPI_lnode_t *node = NULL;
|
||||
|
||||
if (NULL == external_unrelated_class) {
|
||||
return;
|
||||
}
|
||||
OpenAPI_lnode_t *node;
|
||||
OpenAPI_list_for_each(external_unrelated_class->lcs_client_externals, node) {
|
||||
OpenAPI_lcs_client_external_free(node->data);
|
||||
if (external_unrelated_class->lcs_client_externals) {
|
||||
OpenAPI_list_for_each(external_unrelated_class->lcs_client_externals, node) {
|
||||
OpenAPI_lcs_client_external_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(external_unrelated_class->lcs_client_externals);
|
||||
external_unrelated_class->lcs_client_externals = NULL;
|
||||
}
|
||||
OpenAPI_list_free(external_unrelated_class->lcs_client_externals);
|
||||
OpenAPI_list_for_each(external_unrelated_class->af_externals, node) {
|
||||
OpenAPI_af_external_free(node->data);
|
||||
if (external_unrelated_class->af_externals) {
|
||||
OpenAPI_list_for_each(external_unrelated_class->af_externals, node) {
|
||||
OpenAPI_af_external_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(external_unrelated_class->af_externals);
|
||||
external_unrelated_class->af_externals = NULL;
|
||||
}
|
||||
OpenAPI_list_free(external_unrelated_class->af_externals);
|
||||
OpenAPI_list_for_each(external_unrelated_class->lcs_client_group_externals, node) {
|
||||
OpenAPI_lcs_client_group_external_free(node->data);
|
||||
if (external_unrelated_class->lcs_client_group_externals) {
|
||||
OpenAPI_list_for_each(external_unrelated_class->lcs_client_group_externals, node) {
|
||||
OpenAPI_lcs_client_group_external_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(external_unrelated_class->lcs_client_group_externals);
|
||||
external_unrelated_class->lcs_client_group_externals = NULL;
|
||||
}
|
||||
OpenAPI_list_free(external_unrelated_class->lcs_client_group_externals);
|
||||
ogs_free(external_unrelated_class);
|
||||
}
|
||||
|
||||
cJSON *OpenAPI_external_unrelated_class_convertToJSON(OpenAPI_external_unrelated_class_t *external_unrelated_class)
|
||||
{
|
||||
cJSON *item = NULL;
|
||||
OpenAPI_lnode_t *node = NULL;
|
||||
|
||||
if (external_unrelated_class == NULL) {
|
||||
ogs_error("OpenAPI_external_unrelated_class_convertToJSON() failed [ExternalUnrelatedClass]");
|
||||
|
|
@ -57,17 +68,13 @@ cJSON *OpenAPI_external_unrelated_class_convertToJSON(OpenAPI_external_unrelated
|
|||
ogs_error("OpenAPI_external_unrelated_class_convertToJSON() failed [lcs_client_externals]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
OpenAPI_lnode_t *lcs_client_externals_node;
|
||||
if (external_unrelated_class->lcs_client_externals) {
|
||||
OpenAPI_list_for_each(external_unrelated_class->lcs_client_externals, lcs_client_externals_node) {
|
||||
cJSON *itemLocal = OpenAPI_lcs_client_external_convertToJSON(lcs_client_externals_node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_external_unrelated_class_convertToJSON() failed [lcs_client_externals]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(lcs_client_externalsList, itemLocal);
|
||||
OpenAPI_list_for_each(external_unrelated_class->lcs_client_externals, node) {
|
||||
cJSON *itemLocal = OpenAPI_lcs_client_external_convertToJSON(node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_external_unrelated_class_convertToJSON() failed [lcs_client_externals]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(lcs_client_externalsList, itemLocal);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -77,17 +84,13 @@ cJSON *OpenAPI_external_unrelated_class_convertToJSON(OpenAPI_external_unrelated
|
|||
ogs_error("OpenAPI_external_unrelated_class_convertToJSON() failed [af_externals]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
OpenAPI_lnode_t *af_externals_node;
|
||||
if (external_unrelated_class->af_externals) {
|
||||
OpenAPI_list_for_each(external_unrelated_class->af_externals, af_externals_node) {
|
||||
cJSON *itemLocal = OpenAPI_af_external_convertToJSON(af_externals_node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_external_unrelated_class_convertToJSON() failed [af_externals]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(af_externalsList, itemLocal);
|
||||
OpenAPI_list_for_each(external_unrelated_class->af_externals, node) {
|
||||
cJSON *itemLocal = OpenAPI_af_external_convertToJSON(node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_external_unrelated_class_convertToJSON() failed [af_externals]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(af_externalsList, itemLocal);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -97,17 +100,13 @@ cJSON *OpenAPI_external_unrelated_class_convertToJSON(OpenAPI_external_unrelated
|
|||
ogs_error("OpenAPI_external_unrelated_class_convertToJSON() failed [lcs_client_group_externals]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
OpenAPI_lnode_t *lcs_client_group_externals_node;
|
||||
if (external_unrelated_class->lcs_client_group_externals) {
|
||||
OpenAPI_list_for_each(external_unrelated_class->lcs_client_group_externals, lcs_client_group_externals_node) {
|
||||
cJSON *itemLocal = OpenAPI_lcs_client_group_external_convertToJSON(lcs_client_group_externals_node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_external_unrelated_class_convertToJSON() failed [lcs_client_group_externals]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(lcs_client_group_externalsList, itemLocal);
|
||||
OpenAPI_list_for_each(external_unrelated_class->lcs_client_group_externals, node) {
|
||||
cJSON *itemLocal = OpenAPI_lcs_client_group_external_convertToJSON(node->data);
|
||||
if (itemLocal == NULL) {
|
||||
ogs_error("OpenAPI_external_unrelated_class_convertToJSON() failed [lcs_client_group_externals]");
|
||||
goto end;
|
||||
}
|
||||
cJSON_AddItemToArray(lcs_client_group_externalsList, itemLocal);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -118,91 +117,86 @@ end:
|
|||
OpenAPI_external_unrelated_class_t *OpenAPI_external_unrelated_class_parseFromJSON(cJSON *external_unrelated_classJSON)
|
||||
{
|
||||
OpenAPI_external_unrelated_class_t *external_unrelated_class_local_var = NULL;
|
||||
cJSON *lcs_client_externals = cJSON_GetObjectItemCaseSensitive(external_unrelated_classJSON, "lcsClientExternals");
|
||||
|
||||
OpenAPI_list_t *lcs_client_externalsList;
|
||||
OpenAPI_lnode_t *node = NULL;
|
||||
cJSON *lcs_client_externals = NULL;
|
||||
OpenAPI_list_t *lcs_client_externalsList = NULL;
|
||||
cJSON *af_externals = NULL;
|
||||
OpenAPI_list_t *af_externalsList = NULL;
|
||||
cJSON *lcs_client_group_externals = NULL;
|
||||
OpenAPI_list_t *lcs_client_group_externalsList = NULL;
|
||||
lcs_client_externals = cJSON_GetObjectItemCaseSensitive(external_unrelated_classJSON, "lcsClientExternals");
|
||||
if (lcs_client_externals) {
|
||||
cJSON *lcs_client_externals_local_nonprimitive;
|
||||
if (!cJSON_IsArray(lcs_client_externals)){
|
||||
ogs_error("OpenAPI_external_unrelated_class_parseFromJSON() failed [lcs_client_externals]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
lcs_client_externalsList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(lcs_client_externals_local_nonprimitive, lcs_client_externals ) {
|
||||
if (!cJSON_IsObject(lcs_client_externals_local_nonprimitive)) {
|
||||
cJSON *lcs_client_externals_local = NULL;
|
||||
if (!cJSON_IsArray(lcs_client_externals)) {
|
||||
ogs_error("OpenAPI_external_unrelated_class_parseFromJSON() failed [lcs_client_externals]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_lcs_client_external_t *lcs_client_externalsItem = OpenAPI_lcs_client_external_parseFromJSON(lcs_client_externals_local_nonprimitive);
|
||||
|
||||
if (!lcs_client_externalsItem) {
|
||||
ogs_error("No lcs_client_externalsItem");
|
||||
OpenAPI_list_free(lcs_client_externalsList);
|
||||
goto end;
|
||||
lcs_client_externalsList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(lcs_client_externals_local, lcs_client_externals) {
|
||||
if (!cJSON_IsObject(lcs_client_externals_local)) {
|
||||
ogs_error("OpenAPI_external_unrelated_class_parseFromJSON() failed [lcs_client_externals]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_lcs_client_external_t *lcs_client_externalsItem = OpenAPI_lcs_client_external_parseFromJSON(lcs_client_externals_local);
|
||||
if (!lcs_client_externalsItem) {
|
||||
ogs_error("No lcs_client_externalsItem");
|
||||
OpenAPI_list_free(lcs_client_externalsList);
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_list_add(lcs_client_externalsList, lcs_client_externalsItem);
|
||||
}
|
||||
|
||||
OpenAPI_list_add(lcs_client_externalsList, lcs_client_externalsItem);
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *af_externals = cJSON_GetObjectItemCaseSensitive(external_unrelated_classJSON, "afExternals");
|
||||
|
||||
OpenAPI_list_t *af_externalsList;
|
||||
af_externals = cJSON_GetObjectItemCaseSensitive(external_unrelated_classJSON, "afExternals");
|
||||
if (af_externals) {
|
||||
cJSON *af_externals_local_nonprimitive;
|
||||
if (!cJSON_IsArray(af_externals)){
|
||||
ogs_error("OpenAPI_external_unrelated_class_parseFromJSON() failed [af_externals]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
af_externalsList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(af_externals_local_nonprimitive, af_externals ) {
|
||||
if (!cJSON_IsObject(af_externals_local_nonprimitive)) {
|
||||
cJSON *af_externals_local = NULL;
|
||||
if (!cJSON_IsArray(af_externals)) {
|
||||
ogs_error("OpenAPI_external_unrelated_class_parseFromJSON() failed [af_externals]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_af_external_t *af_externalsItem = OpenAPI_af_external_parseFromJSON(af_externals_local_nonprimitive);
|
||||
|
||||
if (!af_externalsItem) {
|
||||
ogs_error("No af_externalsItem");
|
||||
OpenAPI_list_free(af_externalsList);
|
||||
goto end;
|
||||
af_externalsList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(af_externals_local, af_externals) {
|
||||
if (!cJSON_IsObject(af_externals_local)) {
|
||||
ogs_error("OpenAPI_external_unrelated_class_parseFromJSON() failed [af_externals]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_af_external_t *af_externalsItem = OpenAPI_af_external_parseFromJSON(af_externals_local);
|
||||
if (!af_externalsItem) {
|
||||
ogs_error("No af_externalsItem");
|
||||
OpenAPI_list_free(af_externalsList);
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_list_add(af_externalsList, af_externalsItem);
|
||||
}
|
||||
|
||||
OpenAPI_list_add(af_externalsList, af_externalsItem);
|
||||
}
|
||||
}
|
||||
|
||||
cJSON *lcs_client_group_externals = cJSON_GetObjectItemCaseSensitive(external_unrelated_classJSON, "lcsClientGroupExternals");
|
||||
|
||||
OpenAPI_list_t *lcs_client_group_externalsList;
|
||||
lcs_client_group_externals = cJSON_GetObjectItemCaseSensitive(external_unrelated_classJSON, "lcsClientGroupExternals");
|
||||
if (lcs_client_group_externals) {
|
||||
cJSON *lcs_client_group_externals_local_nonprimitive;
|
||||
if (!cJSON_IsArray(lcs_client_group_externals)){
|
||||
ogs_error("OpenAPI_external_unrelated_class_parseFromJSON() failed [lcs_client_group_externals]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
lcs_client_group_externalsList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(lcs_client_group_externals_local_nonprimitive, lcs_client_group_externals ) {
|
||||
if (!cJSON_IsObject(lcs_client_group_externals_local_nonprimitive)) {
|
||||
cJSON *lcs_client_group_externals_local = NULL;
|
||||
if (!cJSON_IsArray(lcs_client_group_externals)) {
|
||||
ogs_error("OpenAPI_external_unrelated_class_parseFromJSON() failed [lcs_client_group_externals]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_lcs_client_group_external_t *lcs_client_group_externalsItem = OpenAPI_lcs_client_group_external_parseFromJSON(lcs_client_group_externals_local_nonprimitive);
|
||||
|
||||
if (!lcs_client_group_externalsItem) {
|
||||
ogs_error("No lcs_client_group_externalsItem");
|
||||
OpenAPI_list_free(lcs_client_group_externalsList);
|
||||
goto end;
|
||||
lcs_client_group_externalsList = OpenAPI_list_create();
|
||||
|
||||
cJSON_ArrayForEach(lcs_client_group_externals_local, lcs_client_group_externals) {
|
||||
if (!cJSON_IsObject(lcs_client_group_externals_local)) {
|
||||
ogs_error("OpenAPI_external_unrelated_class_parseFromJSON() failed [lcs_client_group_externals]");
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_lcs_client_group_external_t *lcs_client_group_externalsItem = OpenAPI_lcs_client_group_external_parseFromJSON(lcs_client_group_externals_local);
|
||||
if (!lcs_client_group_externalsItem) {
|
||||
ogs_error("No lcs_client_group_externalsItem");
|
||||
OpenAPI_list_free(lcs_client_group_externalsList);
|
||||
goto end;
|
||||
}
|
||||
OpenAPI_list_add(lcs_client_group_externalsList, lcs_client_group_externalsItem);
|
||||
}
|
||||
|
||||
OpenAPI_list_add(lcs_client_group_externalsList, lcs_client_group_externalsItem);
|
||||
}
|
||||
}
|
||||
|
||||
external_unrelated_class_local_var = OpenAPI_external_unrelated_class_create (
|
||||
|
|
@ -213,6 +207,27 @@ OpenAPI_external_unrelated_class_t *OpenAPI_external_unrelated_class_parseFromJS
|
|||
|
||||
return external_unrelated_class_local_var;
|
||||
end:
|
||||
if (lcs_client_externalsList) {
|
||||
OpenAPI_list_for_each(lcs_client_externalsList, node) {
|
||||
OpenAPI_lcs_client_external_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(lcs_client_externalsList);
|
||||
lcs_client_externalsList = NULL;
|
||||
}
|
||||
if (af_externalsList) {
|
||||
OpenAPI_list_for_each(af_externalsList, node) {
|
||||
OpenAPI_af_external_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(af_externalsList);
|
||||
af_externalsList = NULL;
|
||||
}
|
||||
if (lcs_client_group_externalsList) {
|
||||
OpenAPI_list_for_each(lcs_client_group_externalsList, node) {
|
||||
OpenAPI_lcs_client_group_external_free(node->data);
|
||||
}
|
||||
OpenAPI_list_free(lcs_client_group_externalsList);
|
||||
lcs_client_group_externalsList = NULL;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue