File 0150-btrfs-progs-zero-out-structures-before-calling-ioctl.patch of Package btrfsprogs.356

From 78f2bb9e8d89f60a9c6fbc447ebc1789ed9f3643 Mon Sep 17 00:00:00 2001
From: David Sterba <dsterba@suse.cz>
Date: Thu, 24 Apr 2014 18:37:50 +0200
Subject: [PATCH 150/303] btrfs-progs: zero out structures before calling ioctl

Signed-off-by: David Sterba <dsterba@suse.cz>
---
 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 8bc4f58fee0b..f984be838e3b 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)
-- 
2.1.3

openSUSE Build Service is sponsored by