Add a checking step in DevicePathUtilities.c to verify DevicePath.
Cc: Liming Gao <[email protected]>
Cc: Michael D Kinney <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <[email protected]>
---
.../Library/UefiDevicePathLib/DevicePathUtilities.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/MdePkg/Library/UefiDevicePathLib/DevicePathUtilities.c
b/MdePkg/Library/UefiDevicePathLib/DevicePathUtilities.c
index 665e5a4adc..f29e1e22f6 100644
--- a/MdePkg/Library/UefiDevicePathLib/DevicePathUtilities.c
+++ b/MdePkg/Library/UefiDevicePathLib/DevicePathUtilities.c
@@ -59,6 +59,18 @@ IsDevicePathValid (
UINTN Size;
UINTN NodeLength;
+/**
+ NULL device path is also invalid path.
+
+ IsDevicePathValid() should return FALSE or TRUE, and not ASSERT().
+
+ This change needs to update IsDevicePathValid() API definition and
implementation both.
+
+**/
+ if (DevicePath == NULL || (MaxSize > 0 && MaxSize < END_DEVICE_PATH_LENGTH))
{
+ return FALSE;
+ }
+
ASSERT (DevicePath != NULL);
if (MaxSize == 0) {
--
2.18.0.windows.1
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel