aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2010-02-19 21:00:02 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-12-09 13:26:49 -0800
commit7098a32a0303c42e8b2db72fd8cf58c624a96a7e (patch)
tree08f3bf78082bd1425a84e6eeceb0e11316714d62
parent6f3fc70b17939b2b3786198d6d5f30c2066516c9 (diff)
firewire: core: fix an information leak
commit 137d9ebfdbaa45c01f9f0f6d5121ae6f1eb942bd upstream. If a device exposes a sparsely populated configuration ROM, firewire-core's sysfs interface and character device file interface showed random data in the gaps between config ROM blocks. Fix this by zero-initialization of the config ROM reader's scratch buffer. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Cc: maximilian attems <max@stro.at> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/firewire/core-device.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/firewire/core-device.c b/drivers/firewire/core-device.c
index 9d0dfcbe2c1..17e2b174020 100644
--- a/drivers/firewire/core-device.c
+++ b/drivers/firewire/core-device.c
@@ -463,6 +463,7 @@ static int read_bus_info_block(struct fw_device *device, int generation)
return -ENOMEM;
stack = &rom[READ_BIB_ROM_SIZE];
+ memset(rom, 0, sizeof(*rom) * READ_BIB_ROM_SIZE);
device->max_speed = SCODE_100;