From 124f4ab9c58d07dc2a52f1b3f2263975bfe65212 Mon Sep 17 00:00:00 2001 From: Guido Casati Date: Mon, 20 Jan 2025 15:53:21 +0100 Subject: [PATCH] Improvements to rrc_gNB_process_e1_setup_req * add const atttribute to input message * use malloc_or_fail --- openair2/RRC/NR/nr_rrc_proto.h | 2 +- openair2/RRC/NR/rrc_gNB_cuup.c | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/openair2/RRC/NR/nr_rrc_proto.h b/openair2/RRC/NR/nr_rrc_proto.h index ab2a95ecde..000d5160ff 100644 --- a/openair2/RRC/NR/nr_rrc_proto.h +++ b/openair2/RRC/NR/nr_rrc_proto.h @@ -85,7 +85,7 @@ void rrc_gNB_generate_dedicatedRRCReconfiguration_release(gNB_RRC_INST *rrc, bool ue_associated_to_cuup(const gNB_RRC_INST *rrc, const gNB_RRC_UE_t *ue); sctp_assoc_t get_existing_cuup_for_ue(const gNB_RRC_INST *rrc, const gNB_RRC_UE_t *ue); sctp_assoc_t get_new_cuup_for_ue(const gNB_RRC_INST *rrc, const gNB_RRC_UE_t *ue, int sst, int sd); -int rrc_gNB_process_e1_setup_req(sctp_assoc_t assoc_id, e1ap_setup_req_t *req); +int rrc_gNB_process_e1_setup_req(sctp_assoc_t assoc_id, const e1ap_setup_req_t *req); /* Process indication of E1 connection loss on CU-CP */ void rrc_gNB_process_e1_lost_connection(gNB_RRC_INST *rrc, e1ap_lost_connection_t *lc, sctp_assoc_t assoc_id); diff --git a/openair2/RRC/NR/rrc_gNB_cuup.c b/openair2/RRC/NR/rrc_gNB_cuup.c index a1a46766f6..67877822d6 100644 --- a/openair2/RRC/NR/rrc_gNB_cuup.c +++ b/openair2/RRC/NR/rrc_gNB_cuup.c @@ -161,7 +161,7 @@ static void e1ap_setup_failure(sctp_assoc_t assoc_id, uint64_t transac_id, e1ap_ /** * @brief E1AP Setup Request processing on CU-CP */ -int rrc_gNB_process_e1_setup_req(sctp_assoc_t assoc_id, e1ap_setup_req_t *req) +int rrc_gNB_process_e1_setup_req(sctp_assoc_t assoc_id, const e1ap_setup_req_t *req) { AssertFatal(req->supported_plmns <= PLMN_LIST_MAX_SIZE, "Supported PLMNs is more than PLMN_LIST_MAX_SIZE\n"); gNB_RRC_INST *rrc = RC.nrrrc[0]; @@ -184,7 +184,7 @@ int rrc_gNB_process_e1_setup_req(sctp_assoc_t assoc_id, e1ap_setup_req_t *req) } for (int i = 0; i < req->supported_plmns; i++) { - PLMN_ID_t *id = &req->plmn[i].id; + const PLMN_ID_t *id = &req->plmn[i].id; if (rrc->configuration.mcc[i] != id->mcc || rrc->configuration.mnc[i] != id->mnc) { LOG_E(NR_RRC, "PLMNs received from CUUP (mcc:%d, mnc:%d) did not match with PLMNs in RRC (mcc:%d, mnc:%d)\n", @@ -199,9 +199,8 @@ int rrc_gNB_process_e1_setup_req(sctp_assoc_t assoc_id, e1ap_setup_req_t *req) } LOG_I(NR_RRC, "Accepting new CU-UP ID %ld name %s (assoc_id %d)\n", req->gNB_cu_up_id, req->gNB_cu_up_name, assoc_id); - nr_rrc_cuup_container_t *cuup = malloc(sizeof(*cuup)); - AssertFatal(cuup, "out of memory\n"); - cuup->setup_req = malloc(sizeof(*cuup->setup_req)); + nr_rrc_cuup_container_t *cuup = malloc_or_fail(sizeof(*cuup)); + cuup->setup_req = malloc_or_fail(sizeof(*cuup->setup_req)); *cuup->setup_req = cp_e1ap_cuup_setup_request(req); cuup->assoc_id = assoc_id; RB_INSERT(rrc_cuup_tree, &rrc->cuups, cuup);