From 5ec278c7d6ac32b8585bca99ddf69484fa1da2f5 Mon Sep 17 00:00:00 2001 From: Snaipe Date: Thu, 24 Sep 2015 01:14:16 +0200 Subject: [PATCH] Fixed memory leaks --- src/core/runner.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/core/runner.c b/src/core/runner.c index abb25c9..6ac3711 100644 --- a/src/core/runner.c +++ b/src/core/runner.c @@ -412,9 +412,13 @@ static struct worker *run_next_test(struct criterion_test_set *p_set, ctx->test_stats, ¶m); + sfree(ctx->test_stats); + if (!is_runner()) { sfree(ctx->suite_stats); - sfree(ctx->test_stats); + if (ctx->params.cleanup) + ctx->params.cleanup(&ctx->params); + ccrReturn(NULL); } else { ccrReturn(worker); @@ -514,6 +518,8 @@ static void run_tests_async(struct criterion_test_set *set, cleanup: fclose(event_pipe); sfree(ev); + for (size_t i = 0; i < nb_workers; ++i) + sfree(workers.workers[i]); free(workers.workers); ccrAbort(ctx); }