Do not assert when the device path node length is invalid.
Because IsDevicePathValid() calls this API we should leave the device path validation in the caller. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16555 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
Library instance that implement UEFI Device Path Library class based on protocol
|
Library instance that implement UEFI Device Path Library class based on protocol
|
||||||
gEfiDevicePathUtilitiesProtocolGuid.
|
gEfiDevicePathUtilitiesProtocolGuid.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2014, 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
|
||||||
@ -195,12 +195,8 @@ DevicePathNodeLength (
|
|||||||
IN CONST VOID *Node
|
IN CONST VOID *Node
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
UINTN Length;
|
|
||||||
|
|
||||||
ASSERT (Node != NULL);
|
ASSERT (Node != NULL);
|
||||||
Length = ReadUnaligned16 ((UINT16 *)&((EFI_DEVICE_PATH_PROTOCOL *)(Node))->Length[0]);
|
return ReadUnaligned16 ((UINT16 *)&((EFI_DEVICE_PATH_PROTOCOL *)(Node))->Length[0]);
|
||||||
ASSERT (Length >= sizeof (EFI_DEVICE_PATH_PROTOCOL));
|
|
||||||
return Length;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -567,8 +563,7 @@ GetNextDevicePathInstance (
|
|||||||
If there is not enough memory to allocate space for the new device path, then
|
If there is not enough memory to allocate space for the new device path, then
|
||||||
NULL is returned.
|
NULL is returned.
|
||||||
The memory is allocated from EFI boot services memory. It is the responsibility
|
The memory is allocated from EFI boot services memory. It is the responsibility
|
||||||
of the caller to
|
of the caller to free the memory allocated.
|
||||||
free the memory allocated.
|
|
||||||
|
|
||||||
@param NodeType The device node type for the new device node.
|
@param NodeType The device node type for the new device node.
|
||||||
@param NodeSubType The device node sub-type for the new device node.
|
@param NodeSubType The device node sub-type for the new device node.
|
||||||
|
Reference in New Issue
Block a user