DragonFlyBSD Kernel Audit
DF-1092 / fix.diff
← back to finding ↓ download raw
--- /tmp/orig/bus/u4b/controller/ehci_pci.c	2026-07-23 11:54:56.734843000 +0000
+++ bus/u4b/controller/ehci_pci.c	2026-07-23 11:57:17.676284000 +0000
@@ -514,8 +514,9 @@
 	cparams = EREAD4(sc, EHCI_HCCPARAMS);
 
 	/* Synchronise with the BIOS if it owns the controller. */
-	for (eecp = EHCI_HCC_EECP(cparams); eecp != 0;
-	    eecp = EHCI_EECP_NEXT(eec)) {
+	for (eecp = EHCI_HCC_EECP(cparams), to = 0;
+	    eecp != 0 && to < 32;
+	    eecp = EHCI_EECP_NEXT(eec), to++) {
 		eec = pci_read_config(self, eecp, 4);
 		if (EHCI_EECP_ID(eec) != EHCI_EC_LEGSUP) {
 			continue;