From a05084de954bfc6777ac968a010cd4ed80c1d83f Mon Sep 17 00:00:00 2001 From: Guido Casati Date: Wed, 27 Nov 2024 10:30:46 +0100 Subject: [PATCH] Extend the scope of free_f1ap_cell and use it in stack --- openair2/F1AP/lib/f1ap_interface_management.c | 2 +- openair2/F1AP/lib/f1ap_interface_management.h | 1 + openair2/RRC/NR/rrc_gNB_du.c | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/openair2/F1AP/lib/f1ap_interface_management.c b/openair2/F1AP/lib/f1ap_interface_management.c index 4a0800d03e..ed629406cf 100644 --- a/openair2/F1AP/lib/f1ap_interface_management.c +++ b/openair2/F1AP/lib/f1ap_interface_management.c @@ -72,7 +72,7 @@ static int read_slice_info(const F1AP_ServedPLMNs_Item_t *plmn, nssai_t *nssai, /** * @brief F1AP Setup Request memory management */ -static void free_f1ap_cell(const f1ap_served_cell_info_t *info, const f1ap_gnb_du_system_info_t *sys_info) +void free_f1ap_cell(const f1ap_served_cell_info_t *info, const f1ap_gnb_du_system_info_t *sys_info) { if (sys_info) { free(sys_info->mib); diff --git a/openair2/F1AP/lib/f1ap_interface_management.h b/openair2/F1AP/lib/f1ap_interface_management.h index d5e8c5af03..e483a74301 100644 --- a/openair2/F1AP/lib/f1ap_interface_management.h +++ b/openair2/F1AP/lib/f1ap_interface_management.h @@ -33,6 +33,7 @@ f1ap_setup_req_t cp_f1ap_setup_request(const f1ap_setup_req_t *msg); bool eq_f1ap_setup_request(const f1ap_setup_req_t *a, const f1ap_setup_req_t *b); void free_f1ap_setup_request(const f1ap_setup_req_t *msg); void copy_f1ap_served_cell_info(f1ap_served_cell_info_t *a, const f1ap_served_cell_info_t *b); +void free_f1ap_cell(const f1ap_served_cell_info_t *info, const f1ap_gnb_du_system_info_t *sys_info); /* F1 Setup Response */ struct F1AP_F1AP_PDU *encode_f1ap_setup_response(const f1ap_setup_resp_t *msg); diff --git a/openair2/RRC/NR/rrc_gNB_du.c b/openair2/RRC/NR/rrc_gNB_du.c index 1c2882eaae..bc3c564516 100644 --- a/openair2/RRC/NR/rrc_gNB_du.c +++ b/openair2/RRC/NR/rrc_gNB_du.c @@ -446,6 +446,8 @@ static void update_cell_info(nr_rrc_du_container_t *du, const f1ap_served_cell_i AssertFatal(du->setup_req->num_cells_available == 1, "expected 1 cell for DU, but has %d\n", du->setup_req->num_cells_available); f1ap_served_cell_info_t *ci = &du->setup_req->cell[0].info; + // make sure no memory is allocated + free_f1ap_cell(ci, NULL); copy_f1ap_served_cell_info(ci, new_ci); NR_MeasurementTimingConfiguration_t *new_mtc =