X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FLibrary%2FBaseMemoryLib%2FZeroMemWrapper.c;h=9dd0b45e188e5cbb668f75132dc5e8bbd35417e6;hp=316b21b8561c32ae6e2562d62b235484b9a87d6c;hb=5ea2bad0d9ab6a2465195badd323313553baa61b;hpb=608fd3fd6159e8bcbf6f55926fc805e175d168eb diff --git a/MdePkg/Library/BaseMemoryLib/ZeroMemWrapper.c b/MdePkg/Library/BaseMemoryLib/ZeroMemWrapper.c index 316b21b856..9dd0b45e18 100644 --- a/MdePkg/Library/BaseMemoryLib/ZeroMemWrapper.c +++ b/MdePkg/Library/BaseMemoryLib/ZeroMemWrapper.c @@ -1,51 +1,56 @@ /** @file ZeroMem() implementation. - Copyright (c) 2006, Intel Corporation
- All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - - Module Name: ZeroMemWrapper.c - - The following BaseMemoryLib instances share the same version of this file: + The following BaseMemoryLib instances contain the same copy of this file: BaseMemoryLib BaseMemoryLibMmx BaseMemoryLibSse2 BaseMemoryLibRepStr + BaseMemoryLibOptDxe + BaseMemoryLibOptPei PeiMemoryLib UefiMemoryLib + + Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+ This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php. + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ -#include "MemLibWrappers.h" +#include "MemLibInternals.h" /** - Set Buffer to 0 for Size bytes. + Fills a target buffer with zeros, and returns the target buffer. This function fills Length bytes of Buffer with zeros, and returns 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(). - @param Buffer Memory to set. - @param Size Number of bytes to set + @param Buffer The pointer to the target buffer to fill with zeros. + @param Length The number of bytes in Buffer to fill with zeros. - @return Buffer + @return Buffer. **/ VOID * EFIAPI ZeroMem ( - IN VOID *Buffer, - IN UINTN Size + OUT VOID *Buffer, + IN UINTN Length ) { + if (Length == 0) { + return Buffer; + } + ASSERT (Buffer != NULL); - return InternalMemSetMem (Buffer, Size, 0); + ASSERT (Length <= (MAX_ADDRESS - (UINTN)Buffer + 1)); + return InternalMemZeroMem (Buffer, Length); }