DragonFlyBSD Kernel Audit
DF-1220 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c
--- a/sys/dev/acpica/acpi.c
+++ b/sys/dev/acpica/acpi.c
@@ -1327,6 +1327,8 @@
     if (ACPI_FAILURE(status))
 	goto done;
     retobj = retbuf.Pointer;
+    if (retobj == NULL || retobj->Type != ACPI_TYPE_BUFFER)
+	goto done;
     error = ((uint32_t *)retobj->Buffer.Pointer)[0] & ACPI_OSC_ERRMASK;
     if (error == 0)
 	goto done;