Some versions of libpciaccess on Linux set rom_size to 0 for VGA
devices. While this behavior may change, intel_bios_dumper should
handle this situation to be compatible with current versions of the
library.
This fixes segmentation faults on affected systems.
Signed-off-by: Forest Bond <forest.bond@rapidrollout.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
if (dev->vendor_id != 0x8086)
errx(1, "Graphics card is non-intel");
+ /* Some versions of libpciaccess correct this automatically, but some
+ * don't. */
+ if (dev->rom_size == 0)
+ dev->rom_size = 64 * 1024;
+
bios = malloc(dev->rom_size);
if (bios == NULL)
errx(1, "Couldn't allocate memory for BIOS data\n");