X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FLibrary%2FBaseMemoryLib%2FSetMemWrapper.c;h=c97a45df28cdb62311ad506163d41075ce351c11;hp=294a27a75362e6b9286b93e30c695e4cd93c33ba;hb=f734a10ab104f1072f94cab66a5489e0fd8fce8a;hpb=24de7645e857287d096b058f7a64fb7f618c0194 diff --git a/MdePkg/Library/BaseMemoryLib/SetMemWrapper.c b/MdePkg/Library/BaseMemoryLib/SetMemWrapper.c index 294a27a753..c97a45df28 100644 --- a/MdePkg/Library/BaseMemoryLib/SetMemWrapper.c +++ b/MdePkg/Library/BaseMemoryLib/SetMemWrapper.c @@ -19,34 +19,43 @@ BaseMemoryLibSse2 BaseMemoryLibRepStr PeiMemoryLib - UefiMemoryLib + DxeMemoryLib **/ +// +// Include common header file for this module. +// + + #include "MemLibInternals.h" /** - Set Buffer to Value for Size bytes. + Fills a target buffer with a byte value, and returns the target buffer. This function fills Length bytes of Buffer with Value, and returns Buffer. + If Length is greater than (MAX_ADDRESS ? Buffer + 1), then ASSERT(). - If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT(). - - @param Buffer Memory to set. - @param Size Number of bytes to set - @param Value Value of the set operation. + @param Buffer Memory to set. + @param Length Number of bytes to set. + @param Value Value of the set operation. - @return Buffer + @return Buffer. **/ VOID * EFIAPI SetMem ( - IN VOID *Buffer, - IN UINTN Size, - IN UINT8 Value + OUT VOID *Buffer, + IN UINTN Length, + IN UINT8 Value ) { - ASSERT (Size <= MAX_ADDRESS - (UINTN)Buffer + 1); - return InternalMemSetMem (Buffer, Size, Value); + if (Length == 0) { + return Buffer; + } + + ASSERT ((Length - 1) <= (MAX_ADDRESS - (UINTN)Buffer)); + + return InternalMemSetMem (Buffer, Length, Value); }