Fixed ASSERT when context has already been removed
This commit is contained in:
parent
668cc59f94
commit
fb95f1ff71
|
@ -497,7 +497,10 @@ void amf_state_operational(ogs_fsm_t *s, amf_event_t *e)
|
|||
ogs_sbi_xact_remove(sbi_xact);
|
||||
|
||||
sess = amf_sess_cycle(sess);
|
||||
ogs_assert(sess);
|
||||
if (!sess) {
|
||||
ogs_error("Session has already been removed");
|
||||
break;
|
||||
}
|
||||
|
||||
amf_ue = sess->amf_ue;
|
||||
ogs_assert(amf_ue);
|
||||
|
@ -574,6 +577,12 @@ void amf_state_operational(ogs_fsm_t *s, amf_event_t *e)
|
|||
case OGS_SBI_OBJ_UE_TYPE:
|
||||
amf_ue = (amf_ue_t *)sbi_object;
|
||||
ogs_assert(amf_ue);
|
||||
amf_ue = amf_ue_cycle(amf_ue);
|
||||
if (!amf_ue) {
|
||||
ogs_error("UE(amf_ue) Context has already been removed");
|
||||
break;
|
||||
}
|
||||
|
||||
ogs_error("[%s] Cannot receive SBI message", amf_ue->suci);
|
||||
ogs_assert(OGS_OK ==
|
||||
nas_5gs_send_gmm_reject_from_sbi(amf_ue,
|
||||
|
@ -583,6 +592,12 @@ void amf_state_operational(ogs_fsm_t *s, amf_event_t *e)
|
|||
case OGS_SBI_OBJ_SESS_TYPE:
|
||||
sess = (amf_sess_t *)sbi_object;
|
||||
ogs_assert(sess);
|
||||
sess = amf_sess_cycle(sess);
|
||||
if (!sess) {
|
||||
ogs_error("Session has already been removed");
|
||||
break;
|
||||
}
|
||||
|
||||
ogs_error("[%d:%d] Cannot receive SBI message",
|
||||
sess->psi, sess->pti);
|
||||
if (sess->payload_container_type) {
|
||||
|
|
|
@ -287,8 +287,10 @@ void ausf_state_operational(ogs_fsm_t *s, ausf_event_t *e)
|
|||
ogs_sbi_xact_remove(sbi_xact);
|
||||
|
||||
ausf_ue = ausf_ue_cycle(ausf_ue);
|
||||
ogs_assert(ausf_ue);
|
||||
ogs_assert(OGS_FSM_STATE(&ausf_ue->sm));
|
||||
if (!ausf_ue) {
|
||||
ogs_error("UE(ausf-ue) Context has already been removed");
|
||||
break;
|
||||
}
|
||||
|
||||
e->ausf_ue = ausf_ue;
|
||||
e->sbi.message = &message;
|
||||
|
|
|
@ -403,7 +403,11 @@ void pcf_state_operational(ogs_fsm_t *s, pcf_event_t *e)
|
|||
ogs_sbi_xact_remove(sbi_xact);
|
||||
|
||||
pcf_ue = pcf_ue_cycle(pcf_ue);
|
||||
ogs_assert(pcf_ue);
|
||||
if (!pcf_ue) {
|
||||
ogs_error("UE(pcf_ue) Context "
|
||||
"has already been removed");
|
||||
break;
|
||||
}
|
||||
|
||||
e->pcf_ue = pcf_ue;
|
||||
e->sbi.message = &message;
|
||||
|
@ -427,7 +431,10 @@ void pcf_state_operational(ogs_fsm_t *s, pcf_event_t *e)
|
|||
ogs_sbi_xact_remove(sbi_xact);
|
||||
|
||||
sess = pcf_sess_cycle(sess);
|
||||
ogs_assert(sess);
|
||||
if (!sess) {
|
||||
ogs_error("Session has already been removed");
|
||||
break;
|
||||
}
|
||||
|
||||
pcf_ue = sess->pcf_ue;
|
||||
ogs_assert(pcf_ue);
|
||||
|
@ -475,7 +482,10 @@ void pcf_state_operational(ogs_fsm_t *s, pcf_event_t *e)
|
|||
ogs_sbi_xact_remove(sbi_xact);
|
||||
|
||||
sess = pcf_sess_cycle(sess);
|
||||
ogs_assert(sess);
|
||||
if (!sess) {
|
||||
ogs_error("Session has already been removed");
|
||||
break;
|
||||
}
|
||||
|
||||
pcf_ue = sess->pcf_ue;
|
||||
ogs_assert(pcf_ue);
|
||||
|
@ -568,12 +578,22 @@ void pcf_state_operational(ogs_fsm_t *s, pcf_event_t *e)
|
|||
case OGS_SBI_OBJ_UE_TYPE:
|
||||
pcf_ue = (pcf_ue_t *)sbi_object;
|
||||
ogs_assert(pcf_ue);
|
||||
pcf_ue = pcf_ue_cycle(pcf_ue);
|
||||
if (!pcf_ue) {
|
||||
ogs_error("UE(pcf_ue) has already been removed");
|
||||
break;
|
||||
}
|
||||
ogs_error("[%s] Cannot receive SBI message", pcf_ue->supi);
|
||||
break;
|
||||
|
||||
case OGS_SBI_OBJ_SESS_TYPE:
|
||||
sess = (pcf_sess_t *)sbi_object;
|
||||
ogs_assert(sess);
|
||||
sess = pcf_sess_cycle(sess);
|
||||
if (!sess) {
|
||||
ogs_error("Session has already been removed");
|
||||
break;
|
||||
}
|
||||
ogs_error("[%d] Cannot receive SBI message", sess->psi);
|
||||
break;
|
||||
|
||||
|
|
|
@ -321,7 +321,10 @@ void udm_state_operational(ogs_fsm_t *s, udm_event_t *e)
|
|||
ogs_sbi_xact_remove(sbi_xact);
|
||||
|
||||
udm_ue = udm_ue_cycle(udm_ue);
|
||||
ogs_assert(udm_ue);
|
||||
if (!udm_ue) {
|
||||
ogs_error("UE(udm_ue) Context has already been removed");
|
||||
break;
|
||||
}
|
||||
|
||||
e->udm_ue = udm_ue;
|
||||
e->sbi.message = &message;
|
||||
|
|
Loading…
Reference in New Issue