From cf6ac177b437d9307605d747fb85479eadaf65d5 Mon Sep 17 00:00:00 2001 From: Adam Kwolek Date: Mon, 17 Jan 2011 12:38:13 +1100 Subject: [PATCH] FIX: mdadm throws coredump on exit in error case When mdadm falls in "reduce size" error on takeovered array it jumps to release and tries execute backward takeover. This time sra pointer is not initialized and coredump is generated. Signed-off-by: Adam Kwolek Signed-off-by: NeilBrown --- Grow.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Grow.c b/Grow.c index 19ad180..447e87e 100644 --- a/Grow.c +++ b/Grow.c @@ -1599,7 +1599,7 @@ static int reshape_array(char *container, int fd, char *devname, unsigned long cache; unsigned long long array_size; int done; - struct mdinfo *sra; + struct mdinfo *sra = NULL; msg = analyse_change(info, &reshape); if (msg) { @@ -1777,7 +1777,6 @@ started: sra = sysfs_read(fd, 0, GET_COMPONENT|GET_DEVS|GET_OFFSET|GET_STATE|GET_CHUNK| GET_CACHE); - if (!sra) { fprintf(stderr, Name ": %s: Cannot get array details from sysfs\n", devname);