From 67acd4010199817bc5bbd7f128caa073d3cd3e36 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Tue, 1 Dec 2009 14:40:47 +0000 Subject: (pci_probe) do not crash if there're more than 100 PCI devices (usb_probe() was already safe) --- NEWS | 1 + pci.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 98c8417..43fa927 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,4 @@ +- do not crash if there're more than 100 PCI devices - further use libpci in order to check for PCIe capability Version 0.11.0 - 1 October 2009, Thierry Vignaud diff --git a/pci.c b/pci.c index 68c07af..5bd344f 100644 --- a/pci.c +++ b/pci.c @@ -51,7 +51,7 @@ extern struct pciusb_entries pci_probe(void) { r.nb = 0; r.entries = malloc(sizeof(struct pciusb_entry) * MAX_DEVICES); - for (dev = pacc->devices; dev; dev = dev->next, r.nb++) { + for (dev = pacc->devices; dev && r.nb < MAX_DEVICES; dev = dev->next, r.nb++) { struct pciusb_entry *e = &r.entries[r.nb]; memset(buf, 0, CONFIG_SPACE_SIZE); // make sure not to retrieve values from previous devices -- cgit v1.2.1