File 0001-Plug-Memory-leak-in-find_and_setup_log_root.patch of Package btrfsprogs.import4186

commit a2fe2e1b978f724f53d025461e65adb4e030d043
Author: Dirk Mueller <dmueller@suse.de>
Date:   Thu Dec 16 20:40:34 2010 +0100

    [PATCH] Plug Memory leak in find_and_setup_log_root()
    
    The error path forgets to free a previously allocated
    memory structure.

diff --git a/disk-io.c b/disk-io.c
index a6e1000..2b5e1d5 100644
--- a/disk-io.c
+++ b/disk-io.c
@@ -423,11 +423,13 @@ static int find_and_setup_log_root(struct btrfs_root *tree_root,
 {
 	u32 blocksize;
 	u64 blocknr = btrfs_super_log_root(disk_super);
-	struct btrfs_root *log_root = malloc(sizeof(struct btrfs_root));
+	struct btrfs_root *log_root;
 
 	if (blocknr == 0)
 		return 0;
 
+	log_root = malloc(sizeof(struct btrfs_root));
+
 	blocksize = btrfs_level_size(tree_root,
 			     btrfs_super_log_root_level(disk_super));
 
openSUSE Build Service is sponsored by