summaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorMyron Stowe <myron.stowe@hp.com>2007-06-04 16:25:37 -0600
committerLen Brown <len.brown@intel.com>2007-06-18 00:51:47 -0400
commit83dd4504456d4b5e464d6ec4a7665e2c922db67f (patch)
tree9886cee43e943e85b267d0ae394ed72ded17ca2e /drivers/acpi
parente7c746ef098770f863ba294adac5b30d124ba469 (diff)
downloadlinux-83dd4504456d4b5e464d6ec4a7665e2c922db67f.tar.gz
linux-83dd4504456d4b5e464d6ec4a7665e2c922db67f.tar.bz2
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.c2
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);
}