DragonFlyBSD Kernel Audit
DF-1811 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/pccard/cardbus/cardbus_cis.c b/sys/dev/pccard/cardbus/cardbus_cis.c
--- a/sys/dev/pccard/cardbus/cardbus_cis.c
+++ b/sys/dev/pccard/cardbus/cardbus_cis.c
@@ -365,6 +365,8 @@
 		} else {
 			pci_bar &= ~0x3;
 		}
+		if (pci_bar == 0)
+			return (EINVAL);
 		len = 1 << (ffs(pci_bar) - 1);
 	}