SmmCommData->Function = SMM_FPDT_FUNCTION_GET_BOOT_RECORD_SIZE;\r
SmmCommData->BootRecordData = NULL;\r
Status = Communication->Communicate (Communication, SmmBootRecordCommBuffer, &CommSize);\r
- ASSERT_EFI_ERROR (Status);\r
\r
- if (!EFI_ERROR (SmmCommData->ReturnStatus) && SmmCommData->BootRecordSize != 0) {\r
+ if (!EFI_ERROR (Status) && !EFI_ERROR (SmmCommData->ReturnStatus) && SmmCommData->BootRecordSize != 0) {\r
//\r
// Get all boot records\r
//\r
// Boot Performance table includes BasicBoot record, and one or more appended Boot Records.\r
//\r
BootPerformanceDataSize = sizeof (BOOT_PERFORMANCE_TABLE) + mPerformanceLength + PcdGet32 (PcdExtFpdtBootRecordPadSize);\r
- if (SmmCommData != NULL) {\r
+ if (SmmCommData != NULL && SmmBootRecordData != NULL) {\r
BootPerformanceDataSize += SmmBootRecordDataSize;\r
}\r
\r