diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c index 88ce87c74e27..a24a4b52c919 100644 --- a/drivers/platform/x86/wmi.c +++ b/drivers/platform/x86/wmi.c @@ -825,8 +825,10 @@ static acpi_status parse_wdg(acpi_handle handle) obj = (union acpi_object *) out.pointer; - if (obj->type != ACPI_TYPE_BUFFER) - return AE_ERROR; + if (obj->type != ACPI_TYPE_BUFFER) { + status = AE_ERROR; + goto out_free_pointer; + } total = obj->buffer.length / sizeof(struct guid_block);