enough_fd(): remember to free buffer for avail array

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
Jes Sorensen 2011-11-01 16:09:27 +01:00 committed by NeilBrown
parent 8e61e0d7f9
commit aabe020dd2
1 changed files with 5 additions and 4 deletions

9
util.c
View File

@ -363,7 +363,7 @@ int enough_fd(int fd)
struct mdu_array_info_s array;
struct mdu_disk_info_s disk;
int avail_disks = 0;
int i;
int i, rv;
char *avail;
if (ioctl(fd, GET_ARRAY_INFO, &array) != 0 ||
@ -386,9 +386,10 @@ int enough_fd(int fd)
avail[disk.raid_disk] = 1;
}
/* This is used on an active array, so assume it is clean */
return enough(array.level, array.raid_disks, array.layout,
1,
avail, avail_disks);
rv = enough(array.level, array.raid_disks, array.layout,
1, avail, avail_disks);
free(avail);
return rv;
}