btrfs-progs: plug a memory leak reported by cppcheck

[src/btrfs/disk-io.c:462]: (error) Memory leak: log_root

Signed-off-by: Kenji Okimoto <okimoto@clear-code.com>
This commit is contained in:
Kenji Okimoto 2012-11-15 13:47:50 +09:00 committed by David Sterba
parent 6b972e6fa5
commit 057d6ea34c
1 changed files with 8 additions and 2 deletions

View File

@ -458,8 +458,10 @@ static int find_and_setup_log_root(struct btrfs_root *tree_root,
u64 blocknr = btrfs_super_log_root(disk_super);
struct btrfs_root *log_root = malloc(sizeof(struct btrfs_root));
if (blocknr == 0)
if (blocknr == 0) {
free(log_root);
return 0;
}
blocksize = btrfs_level_size(tree_root,
btrfs_super_log_root_level(disk_super));
@ -474,8 +476,12 @@ static int find_and_setup_log_root(struct btrfs_root *tree_root,
fs_info->log_root_tree = log_root;
if (!extent_buffer_uptodate(log_root->node))
if (!extent_buffer_uptodate(log_root->node)) {
free(log_root);
return -EIO;
}
free(log_root);
return 0;
}