From 1eb437a40746c1791e7248193a17f92ddbabdd21 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Pali=20Roh=C3=A1r?= Date: Sun, 26 Dec 2021 23:47:03 +0100 Subject: [PATCH] libpci: Fix intel_sanity_check() function 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 | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/i386-ports.c b/lib/i386-ports.c index 8b7ceb7..20bce94 100644 --- a/lib/i386-ports.c +++ b/lib/i386-ports.c @@ -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; -- 2.39.2