imsm: fix missing initializations of the per-disk extents pointer
Fixes a glibc assertion when trying to free a pointer that was not malloc'd. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
ddaf4ce2da
commit
689c9bf3c3
|
@ -1894,6 +1894,7 @@ static int find_missing(struct intel_super *super)
|
||||||
dl->index = i;
|
dl->index = i;
|
||||||
serialcpy(dl->serial, disk->serial);
|
serialcpy(dl->serial, disk->serial);
|
||||||
dl->disk = *disk;
|
dl->disk = *disk;
|
||||||
|
dl->e = NULL;
|
||||||
dl->next = super->missing;
|
dl->next = super->missing;
|
||||||
super->missing = dl;
|
super->missing = dl;
|
||||||
}
|
}
|
||||||
|
@ -2388,6 +2389,7 @@ static int add_to_super_imsm(struct supertype *st, mdu_disk_info_t *dk,
|
||||||
dd->index = -1;
|
dd->index = -1;
|
||||||
dd->devname = devname ? strdup(devname) : NULL;
|
dd->devname = devname ? strdup(devname) : NULL;
|
||||||
dd->fd = fd;
|
dd->fd = fd;
|
||||||
|
dd->e = NULL;
|
||||||
rv = imsm_read_serial(fd, devname, dd->serial);
|
rv = imsm_read_serial(fd, devname, dd->serial);
|
||||||
if (rv) {
|
if (rv) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
|
|
Loading…
Reference in New Issue