fix segfaults in Detail()
If disk has been removed, 'st' and 'info' can be NULL. It causes segfault. 'st' and 'info' should be checked against being NULL before being used. Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
8a63c73123
commit
db428d7a24
5
Detail.c
5
Detail.c
|
@ -430,7 +430,7 @@ int Detail(char *dev, struct context *c)
|
|||
}
|
||||
free_mdstat(ms);
|
||||
|
||||
if (st->sb && info->reshape_active) {
|
||||
if ((st && st->sb) && (info && info->reshape_active)) {
|
||||
#if 0
|
||||
This is pretty boring
|
||||
printf(" Reshape pos'n : %llu%s\n", (unsigned long long) info->reshape_progress<<9,
|
||||
|
@ -596,7 +596,8 @@ This is pretty boring
|
|||
if (spares && c->brief && array.raid_disks) printf(" spares=%d", spares);
|
||||
if (c->brief && st && st->sb)
|
||||
st->ss->brief_detail_super(st);
|
||||
st->ss->free_super(st);
|
||||
if (st)
|
||||
st->ss->free_super(st);
|
||||
|
||||
if (c->brief > 1 && devices) printf("\n devices=%s", devices);
|
||||
if (c->brief)
|
||||
|
|
Loading…
Reference in New Issue