From 540e409b2eccfd99645c72728bd9810fab72fc00 Mon Sep 17 00:00:00 2001
From: Dong Anyuan <donganyuan@cn.fujitsu.com>
Date: Thu, 30 May 2019 19:01:02 +0900
Subject: [PATCH] ReFix Coverity Scan CID 300508 (Variable ul_info going out of
 scope leaks the storage it points to.)

---
 .../CONTROL_MODULES/MAC/flexran_agent_mac.c       | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
index badf182e5d..d3c9f8d300 100644
--- a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
+++ b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
@@ -1045,11 +1045,18 @@ int flexran_agent_mac_sf_trigger(mid_t mod_id, const void *params, Protocol__Fle
       free(sf_trigger_msg->dl_info[i]->harq_status);
       free(sf_trigger_msg->dl_info[i]);
     }
-    for (i = 0; i < sf_trigger_msg->n_ul_info; i++) {
-      free(sf_trigger_msg->ul_info[i]);
-    }
     free(sf_trigger_msg->dl_info);
-    free(sf_trigger_msg->ul_info);
+    if (sf_trigger_msg->ul_info != NULL) {
+      for (i = 0; i < sf_trigger_msg->n_ul_info; i++) {
+        if (sf_trigger_msg->ul_info[i] != NULL) {
+          if (sf_trigger_msg->ul_info[i]->ul_reception != NULL) {
+            free(sf_trigger_msg->ul_info[i]->ul_reception);
+          }
+          free(sf_trigger_msg->ul_info[i]);
+        }
+      }
+      free(sf_trigger_msg->ul_info);
+    }
     free(sf_trigger_msg);
   }
   if(*msg != NULL)
-- 
GitLab