⬢ DragonFlyBSD Kernel Audit
DF-4812 / 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
@@ -434,7 +434,8 @@ hci_call(ACPI_HANDLE h, int op, int function, UINT32 *arg)
 	if (ACPI_FAILURE(AcpiEvaluateObject(h, METHOD_HCI, &args, &results)))
 		goto end;
 	res = (ACPI_OBJECT *)results.Pointer;
 	if (!ACPI_PKG_VALID(res, HCI_WORDS)) {
 		kprintf("toshiba: invalid package!\n");
-		return (ENXIO);
+		AcpiOsFree(results.Pointer);
+		return (ENXIO);
 	}
 
 	acpi_PkgInt32(res, HCI_REG_AX, &ret);