diff --git a/MdeModulePkg/Core/Pei/Ppi/Ppi.c b/MdeModulePkg/Core/Pei/Ppi/Ppi.c index 8d4c9e3a24..bc2c7d66c3 100644 --- a/MdeModulePkg/Core/Pei/Ppi/Ppi.c +++ b/MdeModulePkg/Core/Pei/Ppi/Ppi.c @@ -223,7 +223,7 @@ ConvertPpiPointersFv ( EFI_PEI_FIRMWARE_VOLUME_INFO_PPI *FvInfoPpi; UINT8 GuidIndex; EFI_GUID *Guid; - EFI_GUID (*GuidCheckList)[2]; + EFI_GUID *GuidCheckList[2]; GuidCheckList[0] = &gEfiPeiFirmwareVolumeInfoPpiGuid; GuidCheckList[1] = &gEfiPeiFirmwareVolumeInfo2PpiGuid; @@ -324,16 +324,8 @@ ConvertPpiPointersFv ( Guid = PrivateData->PpiData.PpiList.PpiPtrs[Index].Ppi->Guid; for (GuidIndex = 0; GuidIndex < ARRAY_SIZE (GuidCheckList); ++GuidIndex) { - // - // Don't use CompareGuid function here for performance reasons. - // Instead we compare the GUID as INT32 at a time and branch - // on the first failed comparison. - // // MU_CHANGE [BEGIN] - CodeQL change - if ((((INT32 *)Guid)[0] == ((INT32 *)(GuidCheckList[GuidIndex]))[0]) && - (((INT32 *)Guid)[1] == ((INT32 *)(GuidCheckList[GuidIndex]))[1]) && - (((INT32 *)Guid)[2] == ((INT32 *)(GuidCheckList[GuidIndex]))[2]) && - (((INT32 *)Guid)[3] == ((INT32 *)(GuidCheckList[GuidIndex]))[3])) + if (CompareMem (Guid, GuidCheckList[GuidIndex], 16) == 0) // MU_CHANGE [END] - CodeQL change { FvInfoPpi = PrivateData->PpiData.PpiList.PpiPtrs[Index].Ppi->Ppi;