From 1c7c65a3e5d3e5f6d32bfa4cf0d872f87c654eb2 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Tue, 10 Apr 2018 09:25:39 +0800 Subject: [PATCH 01/26] mdadm: fix use-after-free after free_mdstat e->percent access the mdstat_ent which was already freed in free_mdstat Signed-off-by: Zhipeng Xie Signed-off-by: Jes Sorensen --- Detail.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Detail.c b/Detail.c index 4dcf81dd..860241ce 100644 --- a/Detail.c +++ b/Detail.c @@ -561,7 +561,6 @@ int Detail(char *dev, struct context *c) printf(" %7s Status : %d%% complete\n", sync_action[e->resync], e->percent); } - free_mdstat(ms); if ((st && st->sb) && (info && info->reshape_active)) { #if 0 @@ -609,6 +608,8 @@ This is pretty boring printf("\n"); } else if (e && e->percent >= 0) printf("\n"); + free_mdstat(ms); + if (st && st->sb) st->ss->detail_super(st, c->homehost); -- 2.17.1