SDAP: fix PDU session ID range validation logic

Replace incorrect mathematical range check with explicit bounds
validation in nr_sdap_delete_entity(). The previous condition
(pdusession_id) * (pdusession_id - NR_MAX_NB_PDU_SESSIONS) > 0
was mathematically incorrect and could fail to properly validate
PDU session IDs.

PDU session ID validation now correctly rejects values outside
the valid range [0, NR_MAX_NB_PDU_SESSIONS]

Signed-off-by: Guido Casati <guido.casati@openairinterface.org>
This commit is contained in:
Guido Casati
2026-02-19 15:37:20 +01:00
parent 522fb88c6e
commit 835c80b39d

View File

@@ -575,8 +575,8 @@ bool nr_sdap_delete_entity(ue_id_t ue_id, int pdusession_id)
nr_sdap_entity_t *entityPrev = NULL;
int upperBound = 0;
if (entityPtr == NULL && (pdusession_id) * (pdusession_id - NR_MAX_NB_PDU_SESSIONS) > 0) {
LOG_E(SDAP, "SDAP entities not established or Invalid range of pdusession_id [0, 256].\n");
if (entityPtr == NULL && (pdusession_id < 0 || pdusession_id > NR_MAX_NB_PDU_SESSIONS)) {
LOG_E(SDAP, "SDAP entities not established or Invalid range of pdusession_id [0, %d].\n", NR_MAX_NB_PDU_SESSIONS);
return false;
}