From e8b8139ce3d298017a0fa153b31ea10b19e8366c Mon Sep 17 00:00:00 2001 From: Matthieu Schaller <matthieu.schaller@durham.ac.uk> Date: Sat, 30 Jul 2016 13:00:36 +0100 Subject: [PATCH] Recurse to clean the content of all cells --- src/cell.c | 9 ++++++++- src/engine.c | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/cell.c b/src/cell.c index 7b663b92db..2796a8933e 100644 --- a/src/cell.c +++ b/src/cell.c @@ -711,4 +711,11 @@ void cell_clean_links(struct cell *c, void *data) { /** * @brief Frees up the memory allocated for this #cell */ -void cell_clean(struct cell *c) { free(c->sort); } +void cell_clean(struct cell *c) { + + free(c->sort); + + /* Recurse */ + for (int k = 0; k < 8; k++) + if (c->progeny[k]) cell_clean(c->progeny[k]); +} diff --git a/src/engine.c b/src/engine.c index 4d32da00f7..b33850be94 100644 --- a/src/engine.c +++ b/src/engine.c @@ -3178,8 +3178,8 @@ void engine_init(struct engine *e, struct space *s, #if defined(HAVE_SETAFFINITY) if (with_aff) { free(cpuid); - free(buf); } + free(buf); #endif /* Wait for the runner threads to be in place. */ -- GitLab