From 1c1a01adfdce30dcdafeaf84ea90cc20360de563 Mon Sep 17 00:00:00 2001
From: Xu Bo <xubo1@cn.fujtisu.com>
Date: Mon, 8 Jan 2018 17:07:40 +0900
Subject: [PATCH] fix double free bug

---
 common/utils/hashtable/hashtable.c  | 3 ++-
 openair2/LAYER2/MAC/eNB_scheduler.c | 2 +-
 openair2/LAYER2/MAC/pre_processor.c | 1 +
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/common/utils/hashtable/hashtable.c b/common/utils/hashtable/hashtable.c
index 6322b1dea6..2c7b35744c 100644
--- a/common/utils/hashtable/hashtable.c
+++ b/common/utils/hashtable/hashtable.c
@@ -95,7 +95,7 @@ hash_table_t *hashtable_create(const hash_size_t sizeP, hash_size_t (*hashfuncP)
  * Cleanup
  * The hashtable_destroy() walks through the linked lists for each possible hash value, and releases the elements. It also releases the nodes array and the hash_table_t.
  */
-hashtable_rc_t hashtable_destroy(hash_table_t * const hashtblP)
+hashtable_rc_t hashtable_destroy(hash_table_t * hashtblP)
 {
     hash_size_t n;
     hash_node_t *node, *oldnode;
@@ -117,6 +117,7 @@ hashtable_rc_t hashtable_destroy(hash_table_t * const hashtblP)
     }
     free(hashtblP->nodes);
     free(hashtblP);
+    hashtblP=NULL;
     return HASH_TABLE_OK;
 }
 //-------------------------------------------------------------------------------------------------------------------------------
diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c
index 80032d6b99..7ae6862af3 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler.c
@@ -163,7 +163,7 @@ schedule_SRS(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
 						   (nfapi_ul_config_srs_pdu));
 				ul_config_pdu->srs_pdu.srs_pdu_rel8.size =
 				    (uint8_t)
-				    sizeof(nfapi_ul_config_srs_pdu);;
+				    sizeof(nfapi_ul_config_srs_pdu);
 				ul_config_pdu->srs_pdu.srs_pdu_rel8.rnti =
 				    UE_list->UE_template[CC_id][UE_id].
 				    rnti;
diff --git a/openair2/LAYER2/MAC/pre_processor.c b/openair2/LAYER2/MAC/pre_processor.c
index 6277c1c69f..a711695228 100644
--- a/openair2/LAYER2/MAC/pre_processor.c
+++ b/openair2/LAYER2/MAC/pre_processor.c
@@ -637,6 +637,7 @@ void dlsch_scheduler_pre_ue_select(
           default:
             LOG_W(MAC,"Unsupported transmission mode %d\n", get_tmode(module_idP,CC_id,UE_id));
             aggregation = 2;
+            break;
         }
         format_flag = 1;
         if (!CCE_allocation_infeasible(module_idP,
-- 
GitLab