瀏覽代碼

WMI: do not leak memory in parse_wdg()

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>
Dmitry Torokhov 15 年之前
父節點
當前提交
64ed0ab8d0
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      drivers/platform/x86/wmi.c

+ 4 - 2
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);