summaryrefslogtreecommitdiff
path: root/drivers/acpi/utilities/utobject.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-08-27 19:17:07 -0700
committerH. Peter Anvin <hpa@zytor.com>2008-08-27 19:17:07 -0700
commitb30a72a7edfc64c8929104d5c2178aca489aa559 (patch)
tree2b26c155c318d08d946bd2d70cf815dcdb29a243 /drivers/acpi/utilities/utobject.c
parentf1c5d30e1d79bbfb60eaf189db862d3cb2bcac92 (diff)
parentc1b362e3b4d331a63915b268a33207311a439d60 (diff)
Merge branch 'x86/urgent' into x86/cpu
Conflicts: arch/x86/kernel/cpu/cyrix.c
Diffstat (limited to 'drivers/acpi/utilities/utobject.c')
-rw-r--r--drivers/acpi/utilities/utobject.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/acpi/utilities/utobject.c b/drivers/acpi/utilities/utobject.c
index e25484495e65..916eff399eb3 100644
--- a/drivers/acpi/utilities/utobject.c
+++ b/drivers/acpi/utilities/utobject.c
@@ -425,6 +425,7 @@ acpi_ut_get_simple_object_size(union acpi_operand_object *internal_object,
acpi_size * obj_length)
{
acpi_size length;
+ acpi_size size;
acpi_status status = AE_OK;
ACPI_FUNCTION_TRACE_PTR(ut_get_simple_object_size, internal_object);
@@ -484,10 +485,14 @@ acpi_ut_get_simple_object_size(union acpi_operand_object *internal_object,
* Get the actual length of the full pathname to this object.
* The reference will be converted to the pathname to the object
*/
- length +=
- ACPI_ROUND_UP_TO_NATIVE_WORD
- (acpi_ns_get_pathname_length
- (internal_object->reference.node));
+ size =
+ acpi_ns_get_pathname_length(internal_object->
+ reference.node);
+ if (!size) {
+ return_ACPI_STATUS(AE_BAD_PARAMETER);
+ }
+
+ length += ACPI_ROUND_UP_TO_NATIVE_WORD(size);
break;
default: