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
|
@param Buffer The address to return a pointer to the allocated
|
||||||
pool
|
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_OUT_OF_RESOURCES Size exceeds max pool size or allocation failed.
|
||||||
@retval EFI_SUCCESS Pool successfully allocated.
|
@retval EFI_SUCCESS Pool successfully allocated.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
UEFI Memory page management functions.
|
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
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -1103,6 +1103,10 @@ CoreAllocatePages (
|
||||||
return EFI_INVALID_PARAMETER;
|
return EFI_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Memory == NULL) {
|
||||||
|
return EFI_INVALID_PARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
Alignment = EFI_DEFAULT_PAGE_ALLOCATION_ALIGNMENT;
|
Alignment = EFI_DEFAULT_PAGE_ALLOCATION_ALIGNMENT;
|
||||||
|
|
||||||
if (MemoryType == EfiACPIReclaimMemory ||
|
if (MemoryType == EfiACPIReclaimMemory ||
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
UEFI Memory pool management functions.
|
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
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
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
|
@param Buffer The address to return a pointer to the allocated
|
||||||
pool
|
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_OUT_OF_RESOURCES Size exceeds max pool size or allocation failed.
|
||||||
@retval EFI_SUCCESS Pool successfully allocated.
|
@retval EFI_SUCCESS Pool successfully allocated.
|
||||||
|
|
||||||
|
@ -190,6 +190,10 @@ CoreAllocatePool (
|
||||||
return EFI_INVALID_PARAMETER;
|
return EFI_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Buffer == NULL) {
|
||||||
|
return EFI_INVALID_PARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
*Buffer = NULL;
|
*Buffer = NULL;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
If a code construct is defined in the UEFI 2.3 specification it must be included
|
If a code construct is defined in the UEFI 2.3 specification it must be included
|
||||||
by this include file.
|
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
|
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 terms and conditions of the BSD License that accompanies this distribution.
|
||||||
The full text of the license may be found at
|
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
|
@retval EFI_INVALID_PARAMETER 1) Type is not AllocateAnyPages or
|
||||||
AllocateMaxAddress or AllocateAddress.
|
AllocateMaxAddress or AllocateAddress.
|
||||||
2) MemoryType is in the range
|
2) MemoryType is in the range
|
||||||
|
3) Memory is NULL.
|
||||||
EfiMaxMemoryType..0x7FFFFFFF.
|
EfiMaxMemoryType..0x7FFFFFFF.
|
||||||
@retval EFI_OUT_OF_RESOURCES The pages could not be allocated.
|
@retval EFI_OUT_OF_RESOURCES The pages could not be allocated.
|
||||||
@retval EFI_NOT_FOUND The requested pages could not be found.
|
@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_SUCCESS The requested number of bytes was allocated.
|
||||||
@retval EFI_OUT_OF_RESOURCES The pool requested could not be 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
|
typedef
|
||||||
|
|
Loading…
Reference in New Issue