diff options
author | Bob Moore <robert.moore@intel.com> | 2008-08-03 23:13:01 -0400 |
---|---|---|
committer | Andi Kleen <ak@linux.intel.com> | 2008-08-14 20:12:16 -0400 |
commit | 3c7db22a194d3b53584047425af82b4e1e03d9f7 (patch) | |
tree | 96462093e2826ca81641ccef7ae5718ce2b9c9bb /drivers/acpi/resources/rscalc.c | |
parent | d3ff268a0149fce8835f6d48ab481d5e3321e0f7 (diff) |
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/rscalc.c')
-rw-r--r-- | drivers/acpi/resources/rscalc.c | 3 |
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, | |||
587 | } else { | 587 | } else { |
588 | temp_size_needed += | 588 | temp_size_needed += |
589 | acpi_ns_get_pathname_length((*sub_object_list)->reference.node); | 589 | acpi_ns_get_pathname_length((*sub_object_list)->reference.node); |
590 | if (!temp_size_needed) { | ||
591 | return_ACPI_STATUS(AE_BAD_PARAMETER); | ||
592 | } | ||
590 | } | 593 | } |
591 | } else { | 594 | } else { |
592 | /* | 595 | /* |