diff options
author | Myron Stowe <myron.stowe@hp.com> | 2007-06-05 00:25:37 +0200 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-06-18 06:51:47 +0200 |
commit | 83dd4504456d4b5e464d6ec4a7665e2c922db67f (patch) | |
tree | 9886cee43e943e85b267d0ae394ed72ded17ca2e /drivers/acpi | |
parent | ACPI: gracefully print null trip-point device (diff) | |
download | linux-83dd4504456d4b5e464d6ec4a7665e2c922db67f.tar.xz linux-83dd4504456d4b5e464d6ec4a7665e2c922db67f.zip |
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 <myron.stowe@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/utilities/utobject.c | 2 |
1 files changed, 1 insertions, 1 deletions
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); } |