From 0a8ffacda3f370d0a7312a6b96760a1fcf514637 Mon Sep 17 00:00:00 2001 From: francescomani Date: Fri, 7 Mar 2025 07:52:59 +0100 Subject: [PATCH] prevent segfault in print_rrc_meas --- openair2/RRC/NR/rrc_gNB.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c index 281af514fa..36f4ad2e67 100644 --- a/openair2/RRC/NR/rrc_gNB.c +++ b/openair2/RRC/NR/rrc_gNB.c @@ -2401,8 +2401,11 @@ static void print_rrc_meas(FILE *f, const NR_MeasResults_t *measresults) NR_MeasResultServMO_t *measresultservmo = measresults->measResultServingMOList.list.array[0]; NR_MeasResultNR_t *measresultnr = &measresultservmo->measResultServingCell; NR_MeasQuantityResults_t *mqr = measresultnr->measResult.cellResults.resultsSSB_Cell; - - fprintf(f, " servingCellId %ld MeasResultNR for phyCellId %ld:\n resultSSB:", measresultservmo->servCellId, *measresultnr->physCellId); + if (measresultnr->physCellId) + fprintf(f, + " servingCellId %ld MeasResultNR for phyCellId %ld:\n resultSSB:", + measresultservmo->servCellId, + *measresultnr->physCellId); if (mqr != NULL) { const long rrsrp = *mqr->rsrp - 156; const float rrsrq = (float) (*mqr->rsrq - 87) / 2.0f; @@ -2418,7 +2421,8 @@ static void print_rrc_meas(FILE *f, const NR_MeasResults_t *measresults) for (int i = 0; i < meas_neigh->list.count; ++i) { NR_MeasResultNR_t *measresultneigh = meas_neigh->list.array[i]; NR_MeasQuantityResults_t *neigh_mqr = measresultneigh->measResult.cellResults.resultsSSB_Cell; - fprintf(f, " neighboring cell for phyCellId %ld:\n resultSSB:", *measresultneigh->physCellId); + if (measresultneigh->physCellId) + fprintf(f, " neighboring cell for phyCellId %ld:\n resultSSB:", *measresultneigh->physCellId); if (mqr != NULL) { const long rrsrp = *neigh_mqr->rsrp - 156; const float rrsrq = (float)(*neigh_mqr->rsrq - 87) / 2.0f;