From 8a38cb04de6fc90c00cd3ae337b49305c9ae442f Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Mon, 14 Mar 2011 18:32:38 +1100 Subject: [PATCH] ddf: free_super should be add_list as well. It is possible there is data and even an open file descriptor on 'add_list' - so it must be freed too. Signed-off-by: NeilBrown --- super-ddf.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/super-ddf.c b/super-ddf.c index d2072158..92741dd8 100644 --- a/super-ddf.c +++ b/super-ddf.c @@ -900,6 +900,15 @@ static void free_super_ddf(struct supertype *st) free(d->spare); free(d); } + while (ddf->add_list) { + struct dl *d = ddf->add_list; + ddf->add_list = d->next; + if (d->fd >= 0) + close(d->fd); + if (d->spare) + free(d->spare); + free(d); + } free(ddf); st->sb = NULL; } -- 2.39.2