ACPICA: fix error path in new external package objects as method arguments
authorMyron Stowe <myron.stowe@hp.com>
Mon, 4 Jun 2007 22:25:37 +0000 (16:25 -0600)
committerLen Brown <len.brown@intel.com>
Mon, 18 Jun 2007 04:51:47 +0000 (00:51 -0400)
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 <myron.stowe@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/utilities/utobject.c

index db0b9bac7945f7bd55b55a0561b37104630ca23b..76ee766c84f948ed2d8749f06486338a792f7e05 100644 (file)
@@ -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);
        }