⬢ DragonFlyBSD Kernel Audit
DF-2395 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/acpica/aibs/atk0110.c
+++ b/sys/dev/acpica/aibs/atk0110.c
@@ -168,6 +168,11 @@
 
 	bp = b.Pointer;
 	o = bp->Package.Elements;
+	if (bp->Package.Count < 1) {
+		device_printf(sc->sc_dev, "%s: empty package\n", name);
+		AcpiOsFree(b.Pointer);
+		return;
+	}
 	if (o[0].Type != ACPI_TYPE_INTEGER) {
 		device_printf(sc->sc_dev, "%s[0]: invalid type\n", name);
 		AcpiOsFree(b.Pointer);