BaseMemoryLib: Add missing ASSERT()s for some interfaces.
[mirror_edk2.git] / MdePkg / Library / UefiMemoryLib / ZeroMemWrapper.c
1 /** @file
2 ZeroMem() implementation.
3
4 Copyright (c) 2006, Intel Corporation<BR>
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 Module Name: ZeroMemWrapper.c
14
15 The following BaseMemoryLib instances share the same version of this file:
16
17 BaseMemoryLib
18 BaseMemoryLibMmx
19 BaseMemoryLibSse2
20 BaseMemoryLibRepStr
21 PeiMemoryLib
22 UefiMemoryLib
23
24 **/
25
26 #include "MemLibInternals.h"
27
28 /**
29 Set Buffer to 0 for Size bytes.
30
31 This function fills Length bytes of Buffer with zeros, and returns Buffer.
32
33 If Buffer is NULL and Length > 0, then ASSERT().
34 If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
35
36 @param Buffer Memory to set.
37 @param Size Number of bytes to set
38
39 @return Buffer
40
41 **/
42 VOID *
43 EFIAPI
44 ZeroMem (
45 IN VOID *Buffer,
46 IN UINTN Length
47 )
48 {
49 ASSERT (!(Buffer == NULL && Length > 0));
50 ASSERT (Length <= (MAX_ADDRESS - (UINTN)Buffer + 1));
51 return InternalMemSetMem (Buffer, Length, 0);
52 }