mirror of https://github.com/acidanthera/audk.git
Enhance the error handling for AllocatePool and AllocatePages function.
Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13225 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
64c7a74917
commit
3e0587010e
|
@ -1247,7 +1247,7 @@ CoreGetMemoryMap (
|
|||
@param Buffer The address to return a pointer to the allocated
|
||||
pool
|
||||
|
||||
@retval EFI_INVALID_PARAMETER PoolType not valid
|
||||
@retval EFI_INVALID_PARAMETER PoolType not valid or Buffer is NULL
|
||||
@retval EFI_OUT_OF_RESOURCES Size exceeds max pool size or allocation failed.
|
||||
@retval EFI_SUCCESS Pool successfully allocated.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
UEFI Memory page management functions.
|
||||
|
||||
Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
|
@ -1103,6 +1103,10 @@ CoreAllocatePages (
|
|||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (Memory == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
Alignment = EFI_DEFAULT_PAGE_ALLOCATION_ALIGNMENT;
|
||||
|
||||
if (MemoryType == EfiACPIReclaimMemory ||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
UEFI Memory pool management functions.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
|
@ -167,7 +167,7 @@ LookupPoolHead (
|
|||
@param Buffer The address to return a pointer to the allocated
|
||||
pool
|
||||
|
||||
@retval EFI_INVALID_PARAMETER PoolType not valid
|
||||
@retval EFI_INVALID_PARAMETER PoolType not valid or Buffer is NULL.
|
||||
@retval EFI_OUT_OF_RESOURCES Size exceeds max pool size or allocation failed.
|
||||
@retval EFI_SUCCESS Pool successfully allocated.
|
||||
|
||||
|
@ -190,6 +190,10 @@ CoreAllocatePool (
|
|||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (Buffer == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
*Buffer = NULL;
|
||||
|
||||
//
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
If a code construct is defined in the UEFI 2.3 specification it must be included
|
||||
by this include file.
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
|
@ -127,6 +127,7 @@ typedef struct {
|
|||
@retval EFI_INVALID_PARAMETER 1) Type is not AllocateAnyPages or
|
||||
AllocateMaxAddress or AllocateAddress.
|
||||
2) MemoryType is in the range
|
||||
3) Memory is NULL.
|
||||
EfiMaxMemoryType..0x7FFFFFFF.
|
||||
@retval EFI_OUT_OF_RESOURCES The pages could not be allocated.
|
||||
@retval EFI_NOT_FOUND The requested pages could not be found.
|
||||
|
@ -205,7 +206,7 @@ EFI_STATUS
|
|||
|
||||
@retval EFI_SUCCESS The requested number of bytes was allocated.
|
||||
@retval EFI_OUT_OF_RESOURCES The pool requested could not be allocated.
|
||||
@retval EFI_INVALID_PARAMETER PoolType was invalid.
|
||||
@retval EFI_INVALID_PARAMETER PoolType was invalid or Buffer is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
|
Loading…
Reference in New Issue