summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-09-25 17:56:22 +1000
committerNeilBrown <neilb@suse.de>2009-09-25 17:56:22 +1000
commit40d28f0d1bf28bc706b734932f46a9190b9fec5b (patch)
treeb6e07d9c6a71c146b4f1faa39dcafae867c1c15f
parentd8419fe9e9a1a71e64a508665dc9bc09da174878 (diff)
super0: fix crash on assemble if homehost is not set.
If homehost is not set - typically during early boot, and assemble of v0.90 metadata arrays will crash. Reported-by: Paweł Sikora <pluto@agmk.net> Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--super0.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/super0.c b/super0.c
index 2b4942f4..07f47924 100644
--- a/super0.c
+++ b/super0.c
@@ -305,9 +305,13 @@ static int match_home0(struct supertype *st, char *homehost)
{
mdp_super_t *sb = st->sb;
char buf[20];
- char *hash = sha1_buffer(homehost,
- strlen(homehost),
- buf);
+ char *hash;
+
+ if (!homehost)
+ return 0;
+ hash = sha1_buffer(homehost,
+ strlen(homehost),
+ buf);
return (memcmp(&sb->set_uuid2, hash, 8)==0);
}