⬢ DragonFlyBSD Kernel Audit
DF-2394 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/acpica/acpi_toshiba/acpi_toshiba.c
+++ b/sys/dev/acpica/acpi_toshiba/acpi_toshiba.c
@@ -439,10 +439,17 @@
 		return (ENXIO);
 	}
 
-	acpi_PkgInt32(res, HCI_REG_AX, &ret);
+	if (acpi_PkgInt32(res, HCI_REG_AX, &ret) != 0) {
+		status = ENXIO;
+		goto end;
+	}
 	if (ret == HCI_SUCCESS) {
-		if (op == HCI_GET)
-			acpi_PkgInt32(res, HCI_REG_CX, arg);
+		if (op == HCI_GET) {
+			if (acpi_PkgInt32(res, HCI_REG_CX, arg) != 0) {
+				status = ENXIO;
+				goto end;
+			}
+		}
 		status = 0;
 	} else if (function == HCI_REG_SYSTEM_EVENT && op == HCI_GET &&
 	    ret == HCI_NOT_SUPPORTED) {