diff options
Diffstat (limited to 'source/components/resources/rscalc.c')
-rw-r--r-- | source/components/resources/rscalc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/components/resources/rscalc.c b/source/components/resources/rscalc.c index a6e8b38..a5a8e5a 100644 --- a/source/components/resources/rscalc.c +++ b/source/components/resources/rscalc.c @@ -197,6 +197,7 @@ AcpiRsStreamOptionLength ( * FUNCTION: AcpiRsGetAmlLength * * PARAMETERS: Resource - Pointer to the resource linked list + * ResourceListSize - Size of the resource linked list * SizeNeeded - Where the required size is returned * * RETURN: Status @@ -210,9 +211,11 @@ AcpiRsStreamOptionLength ( ACPI_STATUS AcpiRsGetAmlLength ( ACPI_RESOURCE *Resource, + ACPI_SIZE ResourceListSize, ACPI_SIZE *SizeNeeded) { ACPI_SIZE AmlSizeNeeded = 0; + ACPI_RESOURCE *ResourceEnd; ACPI_RS_LENGTH TotalSize; @@ -221,7 +224,8 @@ AcpiRsGetAmlLength ( /* Traverse entire list of internal resource descriptors */ - while (Resource) + ResourceEnd = ACPI_ADD_PTR (ACPI_RESOURCE, Resource, ResourceListSize); + while (Resource < ResourceEnd) { /* Validate the descriptor type */ |