WMI: do not leak memory in parse_wdg()
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 26 Aug 2010 07:14:58 +0000 (00:14 -0700)
committerMatthew Garrett <mjg@redhat.com>
Thu, 21 Oct 2010 13:36:47 +0000 (09:36 -0400)
If we _WDG returned object that is not buffer we were forgetting
to free memory allocated for that object.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
drivers/platform/x86/wmi.c

index 88ce87c..a24a4b5 100644 (file)
@@ -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);