[MME] Added protection code if no PDN-Type (#1756)

This commit is contained in:
Sukchan Lee 2022-09-25 22:41:11 +09:00
parent e08b8f04e8
commit 7d5fbc6e06
1 changed files with 22 additions and 3 deletions

View File

@ -102,13 +102,27 @@ uint8_t mme_s6a_handle_ula(
break;
}
mme_ue->session[i].name = ogs_strdup(slice_data->session[i].name);
ogs_assert(mme_ue->session[i].name);
if (slice_data->session[i].name) {
mme_ue->session[i].name = ogs_strdup(slice_data->session[i].name);
ogs_assert(mme_ue->session[i].name);
}
mme_ue->session[i].context_identifier =
slice_data->session[i].context_identifier;
mme_ue->session[i].session_type = slice_data->session[i].session_type;
if (slice_data->session[i].session_type == OGS_PDU_SESSION_TYPE_IPV4 ||
slice_data->session[i].session_type == OGS_PDU_SESSION_TYPE_IPV6 ||
slice_data->session[i].session_type ==
OGS_PDU_SESSION_TYPE_IPV4V6) {
mme_ue->session[i].session_type =
slice_data->session[i].session_type;
} else {
ogs_error("Invalid PDN_TYPE[%d]",
slice_data->session[i].session_type);
if (mme_ue->session[i].name)
ogs_free(mme_ue->session[i].name);
break;
}
memcpy(&mme_ue->session[i].paa, &slice_data->session[i].paa,
sizeof(mme_ue->session[i].paa));
@ -127,6 +141,11 @@ uint8_t mme_s6a_handle_ula(
slice_data->session[i].charging_characteristics_presence;
}
if (i == 0) {
ogs_error("No Session");
return OGS_NAS_EMM_CAUSE_SEVERE_NETWORK_FAILURE;
}
mme_ue->num_of_session = i;
mme_ue->context_identifier = slice_data->context_identifier;