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