Add a checking step in DevicePathUtilities.c to verify DevicePath. Cc: Liming Gao <liming....@intel.com> Cc: Michael D Kinney <michael.d.kin...@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Shenglei Zhang <shenglei.zh...@intel.com> --- .../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 edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel