Merge remote-tracking branch 'origin/931-pdu-session-type-is-incorrectly-used' into integration_2025_w14_p1 (!3316)
Fix: Correctly Read PDU Address IE The QoS Rules loop correctly moves msg pointer allowing the PDU Address IE to be read correctly. The PDU Address IE is only processed if it is provided, otherwise there is a warning. Closes #931
This commit is contained in:
@@ -94,7 +94,7 @@ int decode_pdu_session_establishment_accept_msg(pdu_session_establishment_accept
|
||||
{
|
||||
qos_rules->rule[0] = decode_qos_rule(curPtr);
|
||||
rules_tot_len += get_len_qos_rule(&qos_rules->rule[0]);
|
||||
curPtr += rules_tot_len;
|
||||
curPtr += get_len_qos_rule(&qos_rules->rule[0]);
|
||||
}
|
||||
// Session-AMBR (M)
|
||||
psea_msg->sess_ambr.length = *curPtr++;
|
||||
|
||||
@@ -1142,7 +1142,12 @@ static void handle_pdu_session_accept(uint8_t *pdu_buffer, uint32_t msg_length)
|
||||
LOG_E(NAS, "decode_pdu_session_establishment_accept_msg failure\n");
|
||||
|
||||
// process PDU Session
|
||||
process_pdu_session_addr(&msg);
|
||||
|
||||
if (msg.pdu_addr_ie.pdu_length)
|
||||
process_pdu_session_addr(&msg);
|
||||
else
|
||||
LOG_W(NAS, "Optional PDU Address IE was not provided\n");
|
||||
|
||||
set_qfi_pduid(msg.qos_rules.rule->qfi, sm_header.pdu_session_id);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user