From: Myron Stowe Date: Mon, 4 Jun 2007 22:25:37 +0000 (-0600) Subject: ACPICA: fix error path in new external package objects as method arguments X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=83dd4504456d4b5e464d6ec4a7665e2c922db67f;p=openwrt%2Fstaging%2Fblogic.git ACPICA: fix error path in new external package objects as method arguments In the routine acpi_ut_create_package_object(), if the ACPI_ALLOCATE_ZEROED() fails then ACPI_FREE(package_desc) is called as part of the cleanup. This should instead be acpi_ut_remove_reference(package_desc) in order to remove the reference acquired from acpi_ut_create_internal_object() [see the routine acpi_ut_create_buffer_object() as an example of proper functionality]. Signed-off-by: Myron Stowe Signed-off-by: Len Brown --- diff --git a/drivers/acpi/utilities/utobject.c b/drivers/acpi/utilities/utobject.c index db0b9bac7945..76ee766c84f9 100644 --- a/drivers/acpi/utilities/utobject.c +++ b/drivers/acpi/utilities/utobject.c @@ -177,7 +177,7 @@ union acpi_operand_object *acpi_ut_create_package_object(u32 count) package_elements = ACPI_ALLOCATE_ZEROED((acpi_size) (count + 1) * sizeof(void *)); if (!package_elements) { - ACPI_FREE(package_desc); + acpi_ut_remove_reference(package_desc); return_PTR(NULL); }