diff options
Diffstat (limited to 'memtestEDK/Memtest/GetMemoryMap/GetMemoryMap.c')
-rw-r--r-- | memtestEDK/Memtest/GetMemoryMap/GetMemoryMap.c | 4 |
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; |