fix: [MTL]: Fix coverity issue with boot guard event (#2135)
Signed-off-by: Subash Lakkimsetti <subash.lakkimsetti@intel.com>
This commit is contained in:
parent
84ccd424a7
commit
e9d39227c3
|
@ -687,31 +687,32 @@ FindBpmElement (
|
||||||
Buffer += sizeof(BOOT_POLICY_MANIFEST_HEADER);
|
Buffer += sizeof(BOOT_POLICY_MANIFEST_HEADER);
|
||||||
|
|
||||||
IbbElement = (IBB_ELEMENT *)Buffer;
|
IbbElement = (IBB_ELEMENT *)Buffer;
|
||||||
if (*(UINT64 *)IbbElement->StructureId != BOOT_POLICY_MANIFEST_IBB_ELEMENT_STRUCTURE_ID) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
if (StructureId == BOOT_POLICY_MANIFEST_IBB_ELEMENT_STRUCTURE_ID) {
|
|
||||||
return Buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Advance to end of IBB_ELEMENT structure
|
do {
|
||||||
Buffer = (UINT8*) &(IbbElement->PostIbbHash);
|
if (*(UINT64 *)IbbElement->StructureId != BOOT_POLICY_MANIFEST_IBB_ELEMENT_STRUCTURE_ID) {
|
||||||
Buffer += sizeof(UINT32) + IbbElement->PostIbbHash.Size;
|
return NULL;
|
||||||
Buffer += sizeof(UINT32); //entrypoint
|
}
|
||||||
if (StructureId == BOOT_POLICY_MANIFEST_IBB_ELEMENT_DIGEST_ID) {
|
if (StructureId == BOOT_POLICY_MANIFEST_IBB_ELEMENT_STRUCTURE_ID) {
|
||||||
return Buffer;
|
return Buffer;
|
||||||
}
|
}
|
||||||
Buffer += sizeof(UINT32) + ((SHAX_HASH_STRUCTURE*)Buffer)->Size; //digest
|
if (StructureId == BOOT_POLICY_MANIFEST_IBB_ELEMENT_DIGEST_ID) {
|
||||||
Buffer += sizeof(UINT8) + (sizeof(IBB_SEGMENT) * (*Buffer)); //size * segmentcount
|
// Advance to end of IBB_ELEMENT structure
|
||||||
|
Buffer = (UINT8*) &(IbbElement->PostIbbHash);
|
||||||
|
Buffer += sizeof(UINT32) + IbbElement->PostIbbHash.Size;
|
||||||
|
Buffer += sizeof(UINT32); //IbbEntryPoint
|
||||||
|
return Buffer;
|
||||||
|
} else {
|
||||||
|
Buffer += IbbElement->ElementSize; // Go to the end of the IBB Element structure
|
||||||
|
}
|
||||||
|
IbbElement = (IBB_ELEMENT *)Buffer;
|
||||||
|
} while (*(UINT64 *)IbbElement->StructureId == BOOT_POLICY_MANIFEST_IBB_ELEMENT_STRUCTURE_ID); // to support multiple IBB Elements
|
||||||
|
|
||||||
// Do we have TXT element in BPM?
|
// Do we have TXT element in BPM?
|
||||||
// If so, advance to end of TXT_ELEMENT structure
|
// If so, advance to end of TXT_ELEMENT structure
|
||||||
TxtElement = (TXT_ELEMENT *)Buffer;
|
TxtElement = (TXT_ELEMENT *)Buffer;
|
||||||
if (*(UINT64 *)TxtElement->StructureId == BOOT_POLICY_MANIFEST_TXT_ELEMENT_STRUCTURE_ID)
|
if (*(UINT64 *)TxtElement->StructureId == BOOT_POLICY_MANIFEST_TXT_ELEMENT_STRUCTURE_ID)
|
||||||
{
|
{
|
||||||
Buffer = (UINT8*) &(TxtElement->DigestList);
|
Buffer += TxtElement->ElementSize;
|
||||||
Buffer += sizeof(UINT32) + TxtElement->DigestList.Size;
|
|
||||||
Buffer += sizeof(UINT8) + (sizeof(IBB_SEGMENT) * (*Buffer)); //size * segmentcount
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do we have Platform Config Data element in BPM?
|
// Do we have Platform Config Data element in BPM?
|
||||||
|
@ -719,7 +720,15 @@ FindBpmElement (
|
||||||
PcdsElement = (PLATFORM_CONFIG_DATA_ELEMENT *)Buffer;
|
PcdsElement = (PLATFORM_CONFIG_DATA_ELEMENT *)Buffer;
|
||||||
if (*(UINT64 *)PcdsElement->StructureId == BOOT_POLICY_MANIFEST_PLATFORM_CONFIG_DATA_ELEMENT_STRUCTURE_ID)
|
if (*(UINT64 *)PcdsElement->StructureId == BOOT_POLICY_MANIFEST_PLATFORM_CONFIG_DATA_ELEMENT_STRUCTURE_ID)
|
||||||
{
|
{
|
||||||
Buffer += 11 + PcdsElement->SizeOfData;
|
if (StructureId == BOOT_POLICY_MANIFEST_PLATFORM_CONFIG_DATA_ELEMENT_STRUCTURE_ID) {
|
||||||
|
return Buffer;
|
||||||
|
}
|
||||||
|
if (StructureId == BPM_CNBS_ELEMENT_STRUCTURE_ID) {
|
||||||
|
Buffer = (UINT8*) &(PcdsElement->SizeOfData);
|
||||||
|
Buffer += sizeof(UINT16) + (*Buffer);
|
||||||
|
return Buffer;
|
||||||
|
}
|
||||||
|
Buffer += PcdsElement->ElementSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do we have Platform Manufacturer element in BPM?
|
// Do we have Platform Manufacturer element in BPM?
|
||||||
|
|
Loading…
Reference in New Issue