Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
 
        obj = output.pointer;
 
-       if (!obj || obj->type != ACPI_TYPE_BUFFER)
+       if (!obj)
                return -EINVAL;
+       else if (obj->type != ACPI_TYPE_BUFFER) {
+               kfree(obj);
+               return -EINVAL;
+       }
 
        bios_return = *((struct bios_return *)obj->buffer.pointer);
+       kfree(obj);
        if (bios_return.return_code > 0)
                return bios_return.return_code * -1;
        else
 
        if (!obj || obj->type != ACPI_TYPE_BUFFER || obj->buffer.length != 8) {
                printk(KERN_INFO "HP WMI: Unknown response received\n");
+               kfree(obj);
                return;
        }
 
        eventcode = *((u8 *) obj->buffer.pointer);
+       kfree(obj);
        if (eventcode == 0x4)
                eventcode = hp_wmi_perform_query(HPWMI_HOTKEY_QUERY, 0,
                                                0);