mdmon: fix freeing unallocated memory

mdmon was creating a supertype struct with malloc, and thus not
necessarily getting zero-d memory.

This was causing it to segfault when called like this from the initrd:
/sbin/mdmon /proc/mdstat /sysroot

The problem was that  load_super_imsm would get called on the non-zero'd
super struct, whcih in turn calls free_super_imsm, which checks st->sb,
which should be zero but isn't and then starts freeing bogus memory.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
Hans de Goede 2009-09-24 06:52:06 -07:00 committed by Dan Williams
parent cf53434e5c
commit f5df5d69a7
1 changed files with 1 additions and 1 deletions

View File

@ -395,7 +395,7 @@ int mdmon(char *devname, int devnum, int scan, char *switchroot)
} else
pfd[0] = pfd[1] = -1;
container = malloc(sizeof(*container));
container = calloc(1, sizeof(*container));
container->devnum = devnum;
container->devname = devname;
container->arrays = NULL;