summaryrefslogtreecommitdiffstats
path: root/memtestEDK/Memtest/GetMemoryMap/GetMemoryMap.c
diff options
context:
space:
mode:
Diffstat (limited to 'memtestEDK/Memtest/GetMemoryMap/GetMemoryMap.c')
-rw-r--r--memtestEDK/Memtest/GetMemoryMap/GetMemoryMap.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/memtestEDK/Memtest/GetMemoryMap/GetMemoryMap.c b/memtestEDK/Memtest/GetMemoryMap/GetMemoryMap.c
index 3300552..6751af5 100644
--- a/memtestEDK/Memtest/GetMemoryMap/GetMemoryMap.c
+++ b/memtestEDK/Memtest/GetMemoryMap/GetMemoryMap.c
@@ -53,6 +53,7 @@ UefiMain (
*/
Status = bs->GetMemoryMap(&MemoryMapSize, memoryMap, &LocalMapKey, &DescriptorSize, &DescriptorVersion);
do {
+ bs->FreePool(memoryMap);
Status = bs->AllocatePool(EfiLoaderData, (UINTN) (MemoryMapSize + 1) , (void **)&memoryMap);
Status = bs->GetMemoryMap(&MemoryMapSize, memoryMap, &LocalMapKey, &DescriptorSize, &DescriptorVersion);
} while (Status == EFI_BUFFER_TOO_SMALL);
@@ -90,8 +91,9 @@ UefiMain (
counter++;
}
+ bs->FreePool(memoryMap);
- uint64_t MemoryMapSize = totalPages * 4096;
+ MemoryMapSize = totalPages * 4096;
Print(L"Memory detected: %d MB\n\n", MemoryMapSize / 1024 / 1024);
return EFI_SUCCESS;