From 1fb80369b72c6ba7f80b442e4acf771a6dd56ee7 Mon Sep 17 00:00:00 2001 From: "Li, Walon" Date: Thu, 13 May 2021 10:48:40 +0800 Subject: [PATCH] MdeModulePkg/PlatformDriOverrideDxe: Fix overflow condition check Code mistake, VariableIndex is smaller normally than buffer+buffersize so should not break loop. Signed-off-by: Walon Li Reviewed-by: Liming Gao --- .../Universal/PlatformDriOverrideDxe/PlatDriOverrideLib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideLib.c b/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideLib.c index f91f038b7a..bd2d04452f 100644 --- a/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideLib.c +++ b/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideLib.c @@ -776,7 +776,7 @@ InitOverridesMapping ( // Check buffer overflow // if ((DriverImageInfo->DriverImagePath == NULL) || (VariableIndex < (UINT8 *) DriverDevicePath) || - (VariableIndex < (UINT8 *) VariableBuffer + BufferSize)) { + (VariableIndex > (UINT8 *) VariableBuffer + BufferSize)) { Corrupted = TRUE; break; }