]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Grow_continue_command: ensure 'content' is properly initialised.
authorNeilBrown <neilb@suse.com>
Thu, 20 Apr 2017 02:40:05 +0000 (12:40 +1000)
committerJes Sorensen <jsorensen@fb.com>
Thu, 20 Apr 2017 16:56:21 +0000 (12:56 -0400)
Grow_continue_command() call verify_reshape_position(), which assumes
that info->sys_name is initialised.
'info' in verify_reshape_position() is 'content' in Grow_continue_command().

In the st->ss->external != 0 branch of that function, sysfs_init() is called
to initialize content->sys_name.
In the st->ss->external == 0 branch, ->sys_name is not initialized so
verify_reshape_position() will not do the right thing.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
Grow.c

diff --git a/Grow.c b/Grow.c
index 15f4ed1253bf05813e119c7242453e4eaa52f429..c6967ed1c9c7715a6b2c4ff5e1c05747c0261137 100755 (executable)
--- a/Grow.c
+++ b/Grow.c
@@ -5002,6 +5002,7 @@ int Grow_continue_command(char *devname, int fd,
                        goto Grow_continue_command_exit;
                }
                content = &array;
+               sysfs_init(content, fd, NULL);
                /* Need to load a superblock.
                 * FIXME we should really get what we need from
                 * sysfs