diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2013-04-04 22:11:30 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2013-04-04 22:11:30 +0000 |
commit | 9c7c683c56f9d25aa7c25c40d530d7a153b19d18 (patch) | |
tree | 08c8e0bd494a9c0d0e58b8bd388950e26ee98ee0 /sys/contrib/dev/acpica/components/executer/exoparg2.c | |
parent | dcdf6e7418cc054bd34c74bd307396a45e97daf4 (diff) | |
parent | 0ff2ef6cfe11e98b10c26dc8f1c359e6502538c8 (diff) | |
download | src-9c7c683c56f9d25aa7c25c40d530d7a153b19d18.tar.gz src-9c7c683c56f9d25aa7c25c40d530d7a153b19d18.zip |
Merge ACPICA 20130328.
Notes
Notes:
svn path=/head/; revision=249112
Diffstat (limited to 'sys/contrib/dev/acpica/components/executer/exoparg2.c')
-rw-r--r-- | sys/contrib/dev/acpica/components/executer/exoparg2.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/contrib/dev/acpica/components/executer/exoparg2.c b/sys/contrib/dev/acpica/components/executer/exoparg2.c index 55defdcaf74a..aebc0d31b84c 100644 --- a/sys/contrib/dev/acpica/components/executer/exoparg2.c +++ b/sys/contrib/dev/acpica/components/executer/exoparg2.c @@ -286,7 +286,7 @@ AcpiExOpcode_2A_1T_1R ( ACPI_OPERAND_OBJECT *ReturnDesc = NULL; UINT64 Index; ACPI_STATUS Status = AE_OK; - ACPI_SIZE Length; + ACPI_SIZE Length = 0; ACPI_FUNCTION_TRACE_STR (ExOpcode_2A_1T_1R, @@ -356,7 +356,6 @@ AcpiExOpcode_2A_1T_1R ( * NOTE: A length of zero is ok, and will create a zero-length, null * terminated string. */ - Length = 0; while ((Length < Operand[0]->Buffer.Length) && (Length < Operand[1]->Integer.Value) && (Operand[0]->Buffer.Pointer[Length])) @@ -418,6 +417,7 @@ AcpiExOpcode_2A_1T_1R ( if (Index >= Operand[0]->String.Length) { + Length = Operand[0]->String.Length; Status = AE_AML_STRING_LIMIT; } @@ -428,6 +428,7 @@ AcpiExOpcode_2A_1T_1R ( if (Index >= Operand[0]->Buffer.Length) { + Length = Operand[0]->Buffer.Length; Status = AE_AML_BUFFER_LIMIT; } @@ -438,6 +439,7 @@ AcpiExOpcode_2A_1T_1R ( if (Index >= Operand[0]->Package.Count) { + Length = Operand[0]->Package.Count; Status = AE_AML_PACKAGE_LIMIT; } @@ -456,8 +458,8 @@ AcpiExOpcode_2A_1T_1R ( if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, - "Index (0x%8.8X%8.8X) is beyond end of object", - ACPI_FORMAT_UINT64 (Index))); + "Index (0x%X%8.8X) is beyond end of object (length 0x%X)", + ACPI_FORMAT_UINT64 (Index), (UINT32) Length)); goto Cleanup; } |