summaryrefslogtreecommitdiff
path: root/Monitor.c
diff options
context:
space:
mode:
authorJonathan Liu <net147@gmail.com>2011-04-12 18:28:01 +1000
committerNeilBrown <neilb@suse.de>2011-04-13 08:25:45 +1000
commit4019ad07013a5d8618b867f724d1c4a13c5cb05d (patch)
treee63e331282cff66cb0af40fc5f87a061a7772a11 /Monitor.c
parentb357ef43f926179b34fa3d9c78b96f1defd7e4b2 (diff)
Monitor: avoid NULL dereference with 0.90 metadata
0.90 array do not report the metadata type in /proc/mdstat, so we cannot assume that mse->metadata_version is non-NULL. So add an appropriate check. This adds an additional check missed by commit eb28e119b03fd5149886ed516fa4bb006ad3602e. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Monitor.c')
-rw-r--r--Monitor.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Monitor.c b/Monitor.c
index a3ea7247..55aebeba 100644
--- a/Monitor.c
+++ b/Monitor.c
@@ -577,7 +577,8 @@ static int check_array(struct state *st, struct mdstat_ent *mdstat,
info[i].major = info[i].minor = 0;
}
- if (strncmp(mse->metadata_version, "external:", 9) == 0 &&
+ if (mse->metadata_version &&
+ strncmp(mse->metadata_version, "external:", 9) == 0 &&
is_subarray(mse->metadata_version+9))
st->parent_dev =
devname2devnum(mse->metadata_version+10);