From e5503c52754277a54e3107f622a7c73af74f3a21 Mon Sep 17 00:00:00 2001 From: ulfvonbelow Date: Sat, 4 May 2024 19:35:03 -0500 Subject: [PATCH] setu: fix memory leak in strata_estimator_destroy. And also in the "failed to allocate memory" case of strata_estimator_create. --- src/service/setu/gnunet-service-setu_strata_estimator.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/service/setu/gnunet-service-setu_strata_estimator.c b/src/service/setu/gnunet-service-setu_strata_estimator.c index 43ccf3afd..e5af92980 100644 --- a/src/service/setu/gnunet-service-setu_strata_estimator.c +++ b/src/service/setu/gnunet-service-setu_strata_estimator.c @@ -331,6 +331,12 @@ strata_estimator_create (unsigned int strata_count, "Failed to allocate memory for strata estimator\n"); for (j = 0; j < i; j++) ibf_destroy (se->stratas[strata_ctr]->strata[i]); + for (j = 0; j <= strata_ctr; j++) + { + GNUNET_free (se->stratas[j]->strata); + GNUNET_free (se->stratas[j]); + } + GNUNET_free (se->stratas); GNUNET_free (se); return NULL; } @@ -463,6 +469,8 @@ strata_estimator_destroy (struct MultiStrataEstimator *se) for (i = 0; i < se->stratas[strata_ctr]->strata_count; i++) ibf_destroy (se->stratas[strata_ctr]->strata[i]); GNUNET_free (se->stratas[strata_ctr]->strata); + GNUNET_free (se->stratas[strata_ctr]); } + GNUNET_free (se->stratas); GNUNET_free (se); } -- 2.41.0