diff options
author | Bob Moore <robert.moore@intel.com> | 2008-08-04 11:13:01 +0800 |
---|---|---|
committer | Andi Kleen <ak@linux.intel.com> | 2008-08-15 02:12:16 +0200 |
commit | 3c7db22a194d3b53584047425af82b4e1e03d9f7 (patch) | |
tree | 96462093e2826ca81641ccef7ae5718ce2b9c9bb /drivers/acpi/utilities/utalloc.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/utilities/utalloc.c')
-rw-r--r-- | drivers/acpi/utilities/utalloc.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/acpi/utilities/utalloc.c b/drivers/acpi/utilities/utalloc.c index e7bf34a7b1d..7dcb67e0b21 100644 --- a/drivers/acpi/utilities/utalloc.c +++ b/drivers/acpi/utilities/utalloc.c @@ -242,10 +242,12 @@ acpi_ut_initialize_buffer(struct acpi_buffer * buffer, { acpi_status status = AE_OK; - if (!required_length) { - WARN_ON(1); - return AE_ERROR; + /* Parameter validation */ + + if (!buffer || !required_length) { + return (AE_BAD_PARAMETER); } + switch (buffer->length) { case ACPI_NO_BUFFER: |