btrfs-progs: fix uninitialized copy of btrfs_fs_devices list
authorAnand Jain <anand.jain@oracle.com>
Thu, 22 Oct 2015 03:53:39 +0000 (11:53 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 2 Nov 2015 08:35:06 +0000 (09:35 +0100)
Noticed that at print_one_uuid() some of the members of btrfs_fs_devices
contained some junk values. It took a while to dig this further, and found
that we make a local copy of the btrfs_fs_devices list at
search_umounted_fs_uuids() and wasn't initialized properly.

Fixed using using calloc instead of malloc.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
[ switched to calloc ]
Signed-off-by: David Sterba <dsterba@suse.com>
cmds-filesystem.c

index 91bf1fa..819daa1 100644 (file)
@@ -684,7 +684,7 @@ static int search_umounted_fs_uuids(struct list_head *all_uuids,
                if (is_seen_fsid(cur_fs->fsid))
                        continue;
 
-               fs_copy = malloc(sizeof(*fs_copy));
+               fs_copy = calloc(1, sizeof(*fs_copy));
                if (!fs_copy) {
                        ret = -ENOMEM;
                        goto out;