]> mj.ucw.cz Git - pciutils.git/commitdiff
libpci: Fix intel_sanity_check() function
authorPali Rohár <pali@kernel.org>
Sun, 26 Dec 2021 22:47:03 +0000 (23:47 +0100)
committerMartin Mares <mj@ucw.cz>
Sun, 26 Dec 2021 22:50:21 +0000 (23:50 +0100)
Function intel_sanity_check() calls conf1_read() which access d->domain
field. But intel_sanity_check() does not initialize this field and so
conf1_read() access some random data on stack.

Tests showed that intel_sanity_check() always fails as in d->domain is
stored some non-zero number.

Fix this issue by zeroing struct pci_dev d in intel_sanity_check() as
sanity check is verifying PCI devices at domain 0.

lib/i386-ports.c

index 8b7ceb7f71c76f493606d256f4e4f6eca5e4ee15..20bce94b7d01eaccacde05219415f8d62b8a5f82 100644 (file)
@@ -75,6 +75,7 @@ intel_sanity_check(struct pci_access *a, struct pci_methods *m)
 {
   struct pci_dev d;
 
+  memset(&d, 0, sizeof(d));
   a->debug("...sanity check");
   d.bus = 0;
   d.func = 0;