firewire: core: fix an information leak
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Fri, 19 Feb 2010 20:00:02 +0000 (21:00 +0100)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Wed, 24 Feb 2010 19:36:54 +0000 (20:36 +0100)
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>
drivers/firewire/core-device.c

index 150a8ba974885148cda64f22d6b8df0b1980f5aa..f61211977d3352b1949688d157df9281f98d9ab2 100644 (file)
@@ -514,6 +514,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;