mirror of
https://github.com/kdave/btrfs-progs
synced 2025-04-29 22:47:56 +00: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);
|
u64 blocknr = btrfs_super_log_root(disk_super);
|
||||||
struct btrfs_root *log_root = malloc(sizeof(struct btrfs_root));
|
struct btrfs_root *log_root = malloc(sizeof(struct btrfs_root));
|
||||||
|
|
||||||
if (blocknr == 0)
|
if (blocknr == 0) {
|
||||||
|
free(log_root);
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
blocksize = btrfs_level_size(tree_root,
|
blocksize = btrfs_level_size(tree_root,
|
||||||
btrfs_super_log_root_level(disk_super));
|
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;
|
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;
|
return -EIO;
|
||||||
|
}
|
||||||
|
|
||||||
|
free(log_root);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user