From 7ddaa8ed1b3760d8bc1447b9615c69c53870d869 Mon Sep 17 00:00:00 2001 From: Dong Anyuan Date: Thu, 20 Jun 2019 10:41:17 +0900 Subject: [PATCH] Fix Coverity Scan CID 300489 (Variable neigh_meas going out of scope leaks the storage it points to.) --- openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c b/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c index dfc50683ff..aa7a402f2b 100644 --- a/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c +++ b/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c @@ -412,8 +412,10 @@ int flexran_agent_rrc_stats_reply(mid_t mod_id, if (neigh_meas->n_eutra_meas > 0){ eutra_meas = malloc(sizeof(Protocol__FlexEutraMeasurements) * neigh_meas->n_eutra_meas); - if (eutra_meas == NULL) + if (eutra_meas == NULL) { + free(neigh_meas); goto error; + } for (int j = 0; j < neigh_meas->n_eutra_meas; j++ ){ @@ -423,6 +425,7 @@ int flexran_agent_rrc_stats_reply(mid_t mod_id, free(eutra_meas[k]); } free(eutra_meas); + free(neigh_meas); goto error; } @@ -453,6 +456,8 @@ int flexran_agent_rrc_stats_reply(mid_t mod_id, rrc_measurements->neigh_meas = neigh_meas; + } else { + free(neigh_meas); } ue_report[i]->rrc_measurements = rrc_measurements;