From 78f2bb9e8d89f60a9c6fbc447ebc1789ed9f3643 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Thu, 24 Apr 2014 18:37:50 +0200 Subject: btrfs-progs: zero out structures before calling ioctl Signed-off-by: David Sterba --- cmds-fi-disk_usage.c | 6 +++--- 1 file 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) -- cgit v1.2.3