forked from acouzens/open5gs
[MME] Added protection code if no PDN-Type (#1756)
This commit is contained in:
parent
e08b8f04e8
commit
7d5fbc6e06
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue