ACPICA: debugger: dbconvert: free pld_info on error return path
authorColin Ian King <colin.king@canonical.com>
Fri, 19 Feb 2016 06:16:34 +0000 (14:16 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 24 Feb 2016 13:14:48 +0000 (14:14 +0100)
ACPICA commit 23e644670539e23818fa81e2af5e89ad6657e75c

A failed allocation of new_buffer causes a leak of pld_info
because the error return path fails to free pld_info. Ensure
it is freed on the error exit path.

Link: https://github.com/acpica/acpica/commit/23e64467
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/dbconvert.c

index 9fee88f1c6540fa6277e9349f8690d1ca138b7b5..68f4e0f4b095ef0e1f7753d2680a3dc3e1ecf305 100644 (file)
@@ -408,7 +408,7 @@ void acpi_db_dump_pld_buffer(union acpi_object *obj_desc)
 
        new_buffer = acpi_db_encode_pld_buffer(pld_info);
        if (!new_buffer) {
-               return;
+               goto exit;
        }
 
        /* The two bit-packed buffers should match */
@@ -479,6 +479,7 @@ void acpi_db_dump_pld_buffer(union acpi_object *obj_desc)
                               pld_info->horizontal_offset);
        }
 
-       ACPI_FREE(pld_info);
        ACPI_FREE(new_buffer);
+exit:
+       ACPI_FREE(pld_info);
 }