]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Dxe/Mem/Page.c
MdeModulePkg/DxeCore: Fix issues in Heap Guard
[mirror_edk2.git] / MdeModulePkg / Core / Dxe / Mem / Page.c
index 853606653cdb568013a93b581fa397fdbcbc44c5..db32d0f940de983898fc5a7a2d22a2eff8c58ea8 100644 (file)
@@ -920,21 +920,22 @@ CoreConvertPagesEx (
         UINT64  EndToClear;\r
 \r
         StartToClear = Start;\r
-        EndToClear   = RangeEnd;\r
+        EndToClear   = RangeEnd + 1;\r
         if (PcdGet8 (PcdHeapGuardPropertyMask) & (BIT1|BIT0)) {\r
           if (IsGuardPage(StartToClear)) {\r
             StartToClear += EFI_PAGE_SIZE;\r
           }\r
-          if (IsGuardPage (EndToClear)) {\r
+          if (IsGuardPage (EndToClear - 1)) {\r
             EndToClear -= EFI_PAGE_SIZE;\r
           }\r
-          ASSERT (EndToClear > StartToClear);\r
         }\r
 \r
-        DEBUG_CLEAR_MEMORY(\r
-          (VOID *)(UINTN)StartToClear,\r
-          (UINTN)(EndToClear - StartToClear + 1)\r
-          );\r
+        if (EndToClear > StartToClear) {\r
+          DEBUG_CLEAR_MEMORY(\r
+            (VOID *)(UINTN)StartToClear,\r
+            (UINTN)(EndToClear - StartToClear)\r
+            );\r
+        }\r
       }\r
     }\r
 \r