]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fix two minor defects:
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 4 Mar 2008 11:33:13 +0000 (11:33 +0000)
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 4 Mar 2008 11:33:13 +0000 (11:33 +0000)
1. CoreGetMemoryMap() returns unclean data
2. Zero length memory descriptor might be added to the memory map

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4790 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Core/Dxe/Gcd/gcd.c
MdeModulePkg/Core/Dxe/Mem/Page.c

index 1d023548d360601c563f26c0068c188a0e8ceb0b..3cadab29dcaa141d503fe22c3d3d83d009b80dfc 100644 (file)
@@ -2473,6 +2473,9 @@ Returns:
       if (MemorySpaceMap[Index].ImageHandle == NULL) {\r
         BaseAddress  = PageAlignAddress (MemorySpaceMap[Index].BaseAddress);\r
         Length       = PageAlignLength  (MemorySpaceMap[Index].BaseAddress + MemorySpaceMap[Index].Length - BaseAddress);\r
+        if (Length == 0 || MemorySpaceMap[Index].BaseAddress + MemorySpaceMap[Index].Length < BaseAddress) {\r
+          continue;\r
+        }\r
         CoreAddMemoryDescriptor (\r
           EfiConventionalMemory,\r
           BaseAddress,\r
index 0ac2aa5c91562ac2d620c13c955284a4b1437bc7..97179dec857b664cbba90187e9e75ecf5aeb6893 100644 (file)
@@ -1432,7 +1432,7 @@ Returns:
   //\r
   // Build the map\r
   //\r
-  ZeroMem (MemoryMap, Size);\r
+  ZeroMem (MemoryMap, BufferSize);\r
   for (Link = gMemoryMap.ForwardLink; Link != &gMemoryMap; Link = Link->ForwardLink) {\r
     Entry = CR (Link, MEMORY_MAP, Link, MEMORY_MAP_SIGNATURE);\r
     ASSERT (Entry->VirtualStart == 0);\r