]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
fix: incremental on invalid container causes segfault
authorHawrylewicz Czarnowski, Przemyslaw <przemyslaw.hawrylewicz.czarnowski@intel.com>
Mon, 6 Dec 2010 06:40:40 +0000 (06:40 +0000)
committerNeilBrown <neilb@suse.de>
Tue, 7 Dec 2010 10:01:54 +0000 (21:01 +1100)
counterpart of 417f346ee0 for incremental.
If md device has metadata_version="none" super_by_fd() matches
supertype=super0.
Call of load_container() dereferences null, so we have to forbid it.

Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Incremental.c

index 8cae1ee5cb9f9bf54490adc9993117e41de81cf8..9399f5bec27f6f35356c8abe0df009f9d57e9c83 100644 (file)
@@ -134,7 +134,7 @@ int Incremental(char *devname, int verbose, int runstop,
        if (must_be_container(dfd)) {
                if (!st)
                        st = super_by_fd(dfd, NULL);
-               if (st)
+               if (st && st->ss->load_container)
                        rv = st->ss->load_container(st, dfd, NULL);
 
                close(dfd);