summaryrefslogtreecommitdiffstats
path: root/Assemble.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2009-08-04 10:17:23 -0700
committerDan Williams <dan.j.williams@intel.com>2009-08-04 10:17:23 -0700
commit3ef383aa9616e183cb1eda38fdbe4d7a2ebdfd4c (patch)
tree14d76d15903072421ef62b816c69b432a7a0e9e4 /Assemble.c
parent7e8545e954dbe0c08277bb8141057c4ae05fada3 (diff)
downloadmdadm-3ef383aa9616e183cb1eda38fdbe4d7a2ebdfd4c.tar.gz
mdadm-3ef383aa9616e183cb1eda38fdbe4d7a2ebdfd4c.tar.xz
mdadm-3ef383aa9616e183cb1eda38fdbe4d7a2ebdfd4c.zip
Assemble: fix handling of empty container
# mdadm --create /dev/md/ddf /dev/sd[b-e] -n 4 -e ddf mdadm: container /dev/md/ddf prepared. # mdadm -Ss mdadm: stopped /dev/md126 # mdadm -As mdadm: Container /dev/md/ddf0 has been assembled with 4 drives Segmentation fault Reported-by: Artur Wojcik <artur.wojcik@intel.com> Reported-by: Jacek Danecki <jacek.danecki@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'Assemble.c')
-rw-r--r--Assemble.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/Assemble.c b/Assemble.c
index 3c3a004..4578906 100644
--- a/Assemble.c
+++ b/Assemble.c
@@ -320,6 +320,8 @@ int Assemble(struct supertype *st, char *mddev,
content = tmpdev->content;
else
content = tst->ss->container_content(tst);
+ if (!content)
+ goto loop; /* empty container */
tmpdev->content = content->next;
if (tmpdev->content == NULL)