Handle unsolicited UE Capability Information gracefully
A UE might send a UE Capability Information without unsolicitatedly
(intentionally or not). Check this and handle appropriately to avoid
assertion
Assertion (UE->xids[xid] == RRC_UECAPABILITY_ENQUIRY) failed!
In handle_ueCapabilityInformation() ../../../openair2/RRC/NR/rrc_gNB.c
Closes: #858
This commit is contained in:
@@ -1399,8 +1399,12 @@ static int handle_ueCapabilityInformation(const protocol_ctxt_t *const ctxt_pP,
|
||||
gNB_RRC_UE_t *UE = &ue_context_p->ue_context;
|
||||
|
||||
int xid = ue_cap_info->rrc_TransactionIdentifier;
|
||||
DevAssert(UE->xids[xid] == RRC_UECAPABILITY_ENQUIRY);
|
||||
rrc_action_t a = UE->xids[xid];
|
||||
UE->xids[xid] = RRC_ACTION_NONE;
|
||||
if (a != RRC_UECAPABILITY_ENQUIRY) {
|
||||
LOG_E(NR_RRC, "UE %d: received unsolicited UE Capability Information, aborting procedure\n", UE->rrc_ue_id);
|
||||
return -1;
|
||||
}
|
||||
|
||||
LOG_I(NR_RRC, "UE %d: received UE capabilities (xid %d)\n", UE->rrc_ue_id, xid);
|
||||
int eutra_index = -1;
|
||||
|
||||
Reference in New Issue
Block a user