MdeModulePkg/Core: Fix build error with old Visual Studio
[mirror_edk2.git] / MdeModulePkg / Core / PiSmmCore / HeapGuard.c
index 6fda9ba430fb8639b9ad917889fa388fe18e64d3..c7a1408562d7cc63f1040eb31854e52dc5671276 100644 (file)
@@ -385,7 +385,7 @@ ClearGuardedMemoryBits (
   @param[in]  Address       Memory address to retrieve from.
   @param[in]  NumberOfPages Number of pages to retrieve.
 
-  @return VOID
+  @return An integer containing the guarded memory bitmap.
 **/
 UINTN
 GetGuardedMemoryBits (
@@ -513,8 +513,13 @@ IsGuardPage (
 {
   UINTN       BitMap;
 
+  //
+  // There must be at least one guarded page before and/or after given
+  // address if it's a Guard page. The bitmap pattern should be one of
+  // 001, 100 and 101
+  //
   BitMap = GetGuardedMemoryBits (Address - EFI_PAGE_SIZE, 3);
-  return ((BitMap == 0b001) || (BitMap == 0b100) || (BitMap == 0b101));
+  return ((BitMap == BIT0) || (BitMap == BIT2) || (BitMap == (BIT2 | BIT0)));
 }
 
 /**
@@ -531,7 +536,7 @@ IsHeadGuard (
   IN EFI_PHYSICAL_ADDRESS    Address
   )
 {
-  return (GetGuardedMemoryBits (Address, 2) == 0b10);
+  return (GetGuardedMemoryBits (Address, 2) == BIT1);
 }
 
 /**
@@ -548,7 +553,7 @@ IsTailGuard (
   IN EFI_PHYSICAL_ADDRESS    Address
   )
 {
-  return (GetGuardedMemoryBits (Address - EFI_PAGE_SIZE, 2) == 0b01);
+  return (GetGuardedMemoryBits (Address - EFI_PAGE_SIZE, 2) == BIT0);
 }
 
 /**