aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/resources
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2008-08-04 11:13:01 +0800
committerAndi Kleen <ak@linux.intel.com>2008-08-15 02:12:16 +0200
commit3c7db22a194d3b53584047425af82b4e1e03d9f7 (patch)
tree96462093e2826ca81641ccef7ae5718ce2b9c9bb /drivers/acpi/resources
parentACPICA: Fix possible memory leak in Unload() operator (diff)
downloadlinux-dev-3c7db22a194d3b53584047425af82b4e1e03d9f7.tar.xz
linux-dev-3c7db22a194d3b53584047425af82b4e1e03d9f7.zip
ACPICA: Additional error checking for pathname utilities
Add error check after all calls to acpi_ns_get_pathname_length. Add status return from acpi_ns_build_external_path and check after all calls. Add parameter validation to acpi_ut_initialize_buffer. Reported by and initial patch by Ingo Molnar. http://lkml.org/lkml/2008/7/21/176 Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'drivers/acpi/resources')
-rw-r--r--drivers/acpi/resources/rscalc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/acpi/resources/rscalc.c b/drivers/acpi/resources/rscalc.c
index f61ebc679e66..d9063ea414e3 100644
--- a/drivers/acpi/resources/rscalc.c
+++ b/drivers/acpi/resources/rscalc.c
@@ -587,6 +587,9 @@ acpi_rs_get_pci_routing_table_length(union acpi_operand_object *package_object,
} else {
temp_size_needed +=
acpi_ns_get_pathname_length((*sub_object_list)->reference.node);
+ if (!temp_size_needed) {
+ return_ACPI_STATUS(AE_BAD_PARAMETER);
+ }
}
} else {
/*