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:
Robert Schmidt
2025-04-03 10:10:35 +02:00
2 changed files with 7 additions and 2 deletions
@@ -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++;
+6 -1
View File
@@ -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);
}