From: Adam Kwolek Date: Mon, 17 Jan 2011 01:38:13 +0000 (+1100) Subject: FIX: mdadm throws coredump on exit in error case X-Git-Tag: mdadm-3.2~74 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf6ac177b437d9307605d747fb85479eadaf65d5;p=thirdparty%2Fmdadm.git 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 --- diff --git a/Grow.c b/Grow.c index 19ad1805..447e87e5 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);