X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FLibrary%2FPeiMemoryLib%2FSetMem32Wrapper.c;h=425840682d2ca589f0a0997be54e938073c1ac60;hp=4b9d2413ebe90dee80fd323c6ad265cb0c2be45e;hb=24e25d11c0460dfb39fade685375c0e58cbcb40e;hpb=24de7645e857287d096b058f7a64fb7f618c0194 diff --git a/MdePkg/Library/PeiMemoryLib/SetMem32Wrapper.c b/MdePkg/Library/PeiMemoryLib/SetMem32Wrapper.c index 4b9d2413eb..425840682d 100644 --- a/MdePkg/Library/PeiMemoryLib/SetMem32Wrapper.c +++ b/MdePkg/Library/PeiMemoryLib/SetMem32Wrapper.c @@ -32,7 +32,7 @@ Value, and returns Buffer. Value is repeated every 32-bits in for Length bytes of Buffer. - If Buffer is NULL and Length > 0, then ASSERT(). + If Length > 0 and Buffer is NULL, then ASSERT(). If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT(). If Buffer is not aligned on a 32-bit boundary, then ASSERT(). If Length is not aligned on a 32-bit boundary, then ASSERT(). @@ -41,24 +41,25 @@ @param Length Number of bytes in Buffer to fill. @param Value Value with which to fill Length bytes of Buffer. - @return Buffer + @return Buffer. **/ VOID * EFIAPI SetMem32 ( - OUT VOID *Buffer, - IN UINTN Length, - IN UINT32 Value + OUT VOID *Buffer, + IN UINTN Length, + IN UINT32 Value ) { - ASSERT (Buffer != NULL); - ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1); - ASSERT ((((UINTN)Buffer) & 1) != 0); - ASSERT ((Length & 1) != 0); - - if ((Length /= sizeof (Value)) == 0) { + if (Length == 0) { return Buffer; } - return InternalMemSetMem32 (Buffer, Length, Value); + + ASSERT (Buffer != NULL); + ASSERT ((Length - 1) <= (MAX_ADDRESS - (UINTN)Buffer)); + ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0); + ASSERT ((Length & (sizeof (Value) - 1)) == 0); + + return InternalMemSetMem32 (Buffer, Length / sizeof (Value), Value); }