summaryrefslogtreecommitdiffstats
path: root/fs/btrfs
diff options
context:
space:
mode:
authorIlya Dryomov <idryomov@gmail.com>2011-02-06 19:58:21 +0000
committerChris Mason <chris.mason@oracle.com>2011-02-14 16:21:31 -0500
commit67100f255dba284bcbb5ce795355dad1cff35658 (patch)
treef343a1c2bb24b4a4cc965933b41e6d0271fe05fb /fs/btrfs
parent51788b1bdd0d68345bab0af4301e7fa429277228 (diff)
downloadlinux-stable-67100f255dba284bcbb5ce795355dad1cff35658.tar.gz
linux-stable-67100f255dba284bcbb5ce795355dad1cff35658.tar.bz2
linux-stable-67100f255dba284bcbb5ce795355dad1cff35658.zip
Btrfs - Fix memory leak in btrfs_init_new_device()
Memory allocated by calling kstrdup() should be freed. Signed-off-by: Ilya Dryomov <idryomov@gmail.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r--fs/btrfs/volumes.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 7cad59353b09..dadaaa8005c8 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -1603,12 +1603,14 @@ int btrfs_init_new_device(struct btrfs_root *root, char *device_path)
ret = find_next_devid(root, &device->devid);
if (ret) {
+ kfree(device->name);
kfree(device);
goto error;
}
trans = btrfs_start_transaction(root, 0);
if (IS_ERR(trans)) {
+ kfree(device->name);
kfree(device);
ret = PTR_ERR(trans);
goto error;