]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
assemble_container_content(): fix memory leak
authorJes Sorensen <Jes.Sorensen@redhat.com>
Tue, 1 Nov 2011 15:09:22 +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>
Assemble.c

index 4ded58ceef176206156986bc357ab45f3f1cd7ff..05710f5364ccdac286d6d4fa8dc7dbbb73d85bd8 100644 (file)
@@ -1527,8 +1527,11 @@ int assemble_container_content(struct supertype *st, int mdfd,
 
        sra = sysfs_read(mdfd, 0, GET_VERSION);
        if (sra == NULL || strcmp(sra->text_version, content->text_version) != 0)
-               if (sysfs_set_array(content, md_get_version(mdfd)) != 0)
+               if (sysfs_set_array(content, md_get_version(mdfd)) != 0) {
+                       if (sra)
+                               sysfs_free(sra);
                        return 1;
+               }
 
        if (st->ss->external && content->recovery_blocked)
                block_subarray(content);