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);
}