DragonFlyBSD Kernel Audit
DF-1321 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/sound/pci/envy24.c b/sys/dev/sound/pci/envy24.c
--- a/sys/dev/sound/pci/envy24.c
+++ b/sys/dev/sound/pci/envy24.c
@@ -2422,6 +2422,10 @@
 	if (sc->cfg == NULL) {
 		/* 2nd: read configuration from table */
 		sc->cfg = envy24_rom2cfg(sc);
+		if (sc->cfg == NULL) {
+			device_printf(sc->dev, "unknown subsystem, EEPROM absent\n");
+			return ENXIO;
+		}
 	}
 	sc->adcn = ((sc->cfg->scfg & PCIM_SCFG_ADC) >> 2) + 1;
 	sc->dacn = (sc->cfg->scfg & PCIM_SCFG_DAC) + 1;