summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/utilities/utobject.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-08-15 09:26:37 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-08-15 09:26:37 -0700
commitffaa5b984a9322bbd5d9a7f0814ca2ce70feebe5 (patch)
tree171ed020ae3f9034150e832c613b650e803b62fb /drivers/acpi/utilities/utobject.c
parent024b246ed24492d6c2ee14c34d742b137fce1b94 (diff)
parent0f2456236459f3ddef48a8a75d10b2d6ecf1a93d (diff)
downloadkernel-crypto-ffaa5b984a9322bbd5d9a7f0814ca2ce70feebe5.tar.gz
kernel-crypto-ffaa5b984a9322bbd5d9a7f0814ca2ce70feebe5.tar.xz
kernel-crypto-ffaa5b984a9322bbd5d9a7f0814ca2ce70feebe5.zip
Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6
* 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6: ACPI: Fix thermal shutdowns ACPI: bounds check IRQ to prevent memory corruption ACPI: Avoid bogus EC timeout when EC is in Polling mode ACPI : Add the EC dmi table to fix the incorrect ECDT table ACPI: Properly clear flags on false-positives and send uevent on sudden unplug acpi: trivial cleanups acer-wmi: Fix wireless and bluetooth on early AMW0 v2 laptops ACPI: WMI: Set instance for query block calls ACPICA: Additional error checking for pathname utilities ACPICA: Fix possible memory leak in Unload() operator ACPICA: Fix memory leak when deleting thermal/processor objects
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 e25484495e6..916eff399eb 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: