]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseMemoryLib/ScanMem16Wrapper.c
DebugLib:
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLib / ScanMem16Wrapper.c
index 9ffc2cf159e758b64671a3ef7d4a245f110bda49..29170594d33fa795450d8873ddf72df7252092df 100644 (file)
@@ -19,7 +19,7 @@
     BaseMemoryLibSse2\r
     BaseMemoryLibRepStr\r
     PeiMemoryLib\r
-    UefiMemoryLib\r
+    DxeMemoryLib\r
 \r
 **/\r
 \r
@@ -35,6 +35,7 @@
   then NULL is returned.  If Length is 0, then NULL is returned.\r
   If Length > 0 and Buffer is NULL, then ASSERT().\r
   If Buffer is not aligned on a 16-bit boundary, then ASSERT().\r
+  If Length is not aligned on a 16-bit boundary, then ASSERT().\r
   If Length is greater than (MAX_ADDRESS \96 Buffer + 1), then ASSERT(). \r
 \r
   @param  Buffer      Pointer to the target buffer to scan.\r
@@ -52,16 +53,14 @@ ScanMem16 (
   IN UINT16      Value\r
   )\r
 {\r
-  UINTN     Stride;\r
-  \r
-  Stride = Length / sizeof (Value);\r
-  if (Stride == 0) {\r
+  if (Length == 0) {\r
     return NULL;\r
   }\r
 \r
   ASSERT (Buffer != NULL);\r
   ASSERT (((UINTN)Buffer & (sizeof (Value) - 1)) == 0);\r
   ASSERT ((Length - 1) <= (MAX_ADDRESS - (UINTN)Buffer));\r
+  ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
 \r
-  return (VOID*)InternalMemScanMem16 (Buffer, Stride, Value);\r
+  return (VOID*)InternalMemScanMem16 (Buffer, Length / sizeof (Value), Value);\r
 }\r