[STORPORT] Fix resource list size calculation

This commit is contained in:
Eric Kohl
2019-06-02 14:23:59 +02:00
parent f7fc10c17c
commit 631db82058

View File

@@ -102,7 +102,6 @@ GetResourceListSize(
PCM_RESOURCE_LIST ResourceList)
{
PCM_FULL_RESOURCE_DESCRIPTOR Descriptor;
INT i;
ULONG Size;
DPRINT1("GetResourceListSize(%p)\n", ResourceList);
@@ -117,20 +116,12 @@ GetResourceListSize(
DPRINT1("ResourceList->Count: %lu\n", ResourceList->Count);
Descriptor = &ResourceList->List[0];
for (i = 0; i < ResourceList->Count; i++)
{
/* Process resources in CM_FULL_RESOURCE_DESCRIPTOR block number ix. */
DPRINT1("PartialResourceList->Count: %lu\n", Descriptor->PartialResourceList.Count);
DPRINT1("PartialResourceList->Count: %lu\n", Descriptor->PartialResourceList.Count);
/* Add the size of the current full descriptor */
Size += sizeof(CM_FULL_RESOURCE_DESCRIPTOR) +
(Descriptor->PartialResourceList.Count - 1) * sizeof(CM_PARTIAL_RESOURCE_DESCRIPTOR);
/* Advance to next CM_FULL_RESOURCE_DESCRIPTOR block in memory. */
Descriptor = (PCM_FULL_RESOURCE_DESCRIPTOR)(Descriptor->PartialResourceList.PartialDescriptors +
Descriptor->PartialResourceList.Count);
}
/* Add the size of the partial descriptors */
if (Descriptor->PartialResourceList.Count > 1)
Size += (Descriptor->PartialResourceList.Count - 1) * sizeof(CM_PARTIAL_RESOURCE_DESCRIPTOR);
DPRINT1("Size: 0x%lx (%u)\n", Size, Size);
return Size;