diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2010-02-19 21:00:02 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-12-09 13:26:49 -0800 |
commit | 7098a32a0303c42e8b2db72fd8cf58c624a96a7e (patch) | |
tree | 08f3bf78082bd1425a84e6eeceb0e11316714d62 | |
parent | 6f3fc70b17939b2b3786198d6d5f30c2066516c9 (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.c | 1 |
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; |