]> git.ipfire.org Git - thirdparty/mdadm.git/commit
examine: tidy up some code.
authorNeilBrown <neilb@suse.com>
Thu, 2 Mar 2017 23:57:00 +0000 (10:57 +1100)
committerJes Sorensen <Jes.Sorensen@gmail.com>
Mon, 6 Mar 2017 21:33:44 +0000 (16:33 -0500)
commit36352fc95778677f0319f677ea079c49f7bbe9d0
tree10e9b9d6a9535cd7405c3ca711e06153d1b7df3f
parent9d67f6496c71efbc68b33aea663dbcc1597a0828
examine: tidy up some code.

Michael Shigorin reports that the 'lcc' compiler isn't able
to deduce that 'st' must be initialized in

if (c->SparcAdjust)
st->ss->update_super(st, NULL, "sparc2.2",

just because the only times it isn't initialised, 'err' is set non-zero.

This results in a 'possibly uninitialised' warning.
While there is no bug in the code, this does suggest that maybe
the code could be made more obviously correct.

So this patch:
 1/ moves the "err" variable inside the for loop, so an error in
    one device doesn't stop the other devices from being processed
 2/ calls 'continue' early if the device cannot be opened, so that
    a level of indent can be removed, and so that it is clear that
    'st' is always initialised before being used
 3/ frees 'st' if an error occured in load_super or load_container.

Reported-by: Michael Shigorin <mike@altlinux.org>
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
Examine.c