* [PATCH] btrfs-progs: avoid memory leak in find_and_setup_log_root
@ 2012-10-25 2:59 Wang Sheng-Hui
0 siblings, 0 replies; only message in thread
From: Wang Sheng-Hui @ 2012-10-25 2:59 UTC (permalink / raw)
To: linux-btrfs
In find_and_setup_log_root, the malloced log_root would be leaked
if we have bytenr = 0, which would happen at our mkfs stage.
Move the memory allocation after the bytenr check, and add allocation
failure check.
Signed-off-by: Wang Sheng-Hui <shhuiw@gmail.com>
---
disk-io.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/disk-io.c b/disk-io.c
index 0395205..3a80284 100644
--- a/disk-io.c
+++ b/disk-io.c
@@ -456,11 +456,15 @@ 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 = NULL;
if (blocknr == 0)
return 0;
+ log_root = malloc(sizeof(struct btrfs_root));
+ if (!log_root)
+ return -ENOMEM;
+
blocksize = btrfs_level_size(tree_root,
btrfs_super_log_root_level(disk_super));
--
1.7.5.4
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-10-25 2:59 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-25 2:59 [PATCH] btrfs-progs: avoid memory leak in find_and_setup_log_root Wang Sheng-Hui
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).