diff options
author | David Sterba <dsterba@suse.cz> | 2014-04-24 18:37:50 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2014-12-04 16:48:11 +0100 |
commit | 78f2bb9e8d89f60a9c6fbc447ebc1789ed9f3643 (patch) | |
tree | ccc693c397a805fd1ce118bb893d71a3dbcadba4 | |
parent | 6e4d756dee1cc8191cc8da43b6fdd22838fc88fb (diff) |
btrfs-progs: zero out structures before calling ioctl
Signed-off-by: David Sterba <dsterba@suse.cz>
-rw-r--r-- | cmds-fi-disk_usage.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/cmds-fi-disk_usage.c b/cmds-fi-disk_usage.c index 8bc4f58f..f984be83 100644 --- a/cmds-fi-disk_usage.c +++ b/cmds-fi-disk_usage.c @@ -248,7 +248,7 @@ static struct btrfs_ioctl_space_args *load_space_info(int fd, char *path) struct btrfs_ioctl_space_args *sargs = 0, *sargs_orig = 0; int e, ret, count; - sargs_orig = sargs = malloc(sizeof(struct btrfs_ioctl_space_args)); + sargs_orig = sargs = calloc(1, sizeof(struct btrfs_ioctl_space_args)); if (!sargs) { fprintf(stderr, "ERROR: not enough memory\n"); return NULL; @@ -476,15 +476,15 @@ int load_device_info(int fd, struct device_info **device_info_ptr, return -1; } - info = malloc(sizeof(struct device_info) * fi_args.num_devices); + info = calloc(fi_args.num_devices, sizeof(struct device_info)); if (!info) { fprintf(stderr, "ERROR: not enough memory\n"); return -1; } for (i = 0, ndevs = 0 ; i <= fi_args.max_id ; i++) { - BUG_ON(ndevs >= fi_args.num_devices); + memset(&dev_info, 0, sizeof(dev_info)); ret = get_device_info(fd, i, &dev_info); if (ret == -ENODEV) |