]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseMemoryLibMmx/SetMemWrapper.c
1. Add the fix for the following Bugs:
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLibMmx / SetMemWrapper.c
index 294a27a75362e6b9286b93e30c695e4cd93c33ba..e74ce8d65b8f086259f70c7605bec2d4b2d89778 100644 (file)
     BaseMemoryLibSse2\r
     BaseMemoryLibRepStr\r
     PeiMemoryLib\r
     BaseMemoryLibSse2\r
     BaseMemoryLibRepStr\r
     PeiMemoryLib\r
-    UefiMemoryLib\r
+    DxeMemoryLib\r
 \r
 **/\r
 \r
 #include "MemLibInternals.h"\r
 \r
 /**\r
 \r
 **/\r
 \r
 #include "MemLibInternals.h"\r
 \r
 /**\r
-  Set Buffer to Value for Size bytes.\r
+  Fills a target buffer with a byte value, and returns the target buffer.\r
 \r
   This function fills Length bytes of Buffer with Value, and returns Buffer.\r
 \r
   This function fills Length bytes of Buffer with Value, and returns Buffer.\r
+  If Length is greater than (MAX_ADDRESS ? Buffer + 1), then ASSERT(). \r
 \r
 \r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
+  @param  Buffer    Memory to set.\r
+  @param  Length    Number of bytes to set.\r
+  @param  Value     Value of the set operation.\r
 \r
 \r
-  @param  Buffer Memory to set.\r
-  @param  Size Number of bytes to set\r
-  @param  Value Value of the set operation.\r
-\r
-  @return Buffer\r
+  @return Buffer.\r
 \r
 **/\r
 VOID *\r
 EFIAPI\r
 SetMem (\r
 \r
 **/\r
 VOID *\r
 EFIAPI\r
 SetMem (\r
-  IN      VOID                      *Buffer,\r
-  IN      UINTN                     Size,\r
-  IN      UINT8                     Value\r
+  OUT VOID  *Buffer,\r
+  IN UINTN  Length,\r
+  IN UINT8  Value\r
   )\r
 {\r
   )\r
 {\r
-  ASSERT (Size <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
-  return InternalMemSetMem (Buffer, Size, Value);\r
+  if (Length == 0) {\r
+    return Buffer;\r
+  }\r
+\r
+  ASSERT ((Length - 1) <= (MAX_ADDRESS - (UINTN)Buffer));\r
+\r
+  return InternalMemSetMem (Buffer, Length, Value);\r
 }\r
 }\r