From 3adb2efd8c2ccf7a3c36d55842c0b285a9b2865f Mon Sep 17 00:00:00 2001 From: Dong Anyuan <donganyuan@cn.fujitsu.com> Date: Thu, 20 Jun 2019 14:06:32 +0900 Subject: [PATCH] Fix Coverity Scan CID 339954 (Overrunning callee's array of size 16 by passing argument ue_id (which evaluates to 65535) in call to flexran_set_ue_ul_slice_idx.) --- .../ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c index 6903d18a5b..30c10940c9 100644 --- a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c +++ b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c @@ -1726,6 +1726,10 @@ int apply_ue_slice_assoc_update(mid_t mod_id) int changes = 0; for (i = 0; i < n_ue_slice_assoc_updates; i++) { int ue_id = find_UE_id(mod_id, ue_slice_assoc_update[i]->rnti); + if (ue_id < 0 || ue_id > MAX_MOBILES_PER_ENB){ + LOG_E(FLEXRAN_AGENT,"UE_id %d is wrong!!\n",ue_id); + continue; + } if (ue_slice_assoc_update[i]->has_dl_slice_id) { int slice_idx = flexran_find_dl_slice(mod_id, ue_slice_assoc_update[i]->dl_slice_id); if (flexran_dl_slice_exists(mod_id, slice_idx)) { -- GitLab