]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
enough_fd(): remember to free buffer for avail array
authorJes Sorensen <Jes.Sorensen@redhat.com>
Tue, 1 Nov 2011 15:09:27 +0000 (16:09 +0100)
committerNeilBrown <neilb@suse.de>
Tue, 1 Nov 2011 23:48:53 +0000 (10:48 +1100)
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: NeilBrown <neilb@suse.de>
util.c

diff --git a/util.c b/util.c
index 38af6d575f1e7e4dc5a32895032d228bb8b98bc3..6985a7076204f6b11cf2b617594d968025ca8307 100644 (file)
--- a/util.c
+++ b/util.c
@@ -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;
 }