diff options
author | Jonathan Liu <net147@gmail.com> | 2011-04-12 18:28:01 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2011-04-13 08:25:45 +1000 |
commit | 4019ad07013a5d8618b867f724d1c4a13c5cb05d (patch) | |
tree | e63e331282cff66cb0af40fc5f87a061a7772a11 /Monitor.c | |
parent | b357ef43f926179b34fa3d9c78b96f1defd7e4b2 (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.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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); |