mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git
synced 2024-11-16 08:44:31 +08:00
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:
parent
6b972e6fa5
commit
057d6ea34c
10
disk-io.c
10
disk-io.c
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user