mdadm: Fix Segmentation fault.

In function write_init_super1():
If "rv = store_super1(st, di->fd)" return error and the di is the last.
Then the di = NULL && rv > 0, so exec:
if (rv)
    fprintf(stderr, Name ": Failed to write metadata to%s\n",
     	 di->devname);
will be segmentation fault.

Signed-off-by: majianpeng <majianpeng@gmail.com>
Signed-off-by: NeilBrown <neilb@suse.de>
diff --git a/super1.c b/super1.c
index 871af3f..26f9974 100644
--- a/super1.c
+++ b/super1.c
@@ -1162,7 +1162,7 @@
 	unsigned long long sb_offset, headroom;
 	long long data_offset;
 
-	for (di = st->info; di && ! rv ; di = di->next) {
+	for (di = st->info; di; di = di->next) {
 		if (di->disk.state == 1)
 			continue;
 		if (di->fd < 0)
@@ -1321,6 +1321,8 @@
 			rv = st->ss->write_bitmap(st, di->fd);
 		close(di->fd);
 		di->fd = -1;
+		if (rv)
+			goto error_out;
 	}
 error_out:
 	if (rv)