diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/UpdatePage.c b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/UpdatePage.c index 790fe51d44..5146399dd4 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/UpdatePage.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/UpdatePage.c @@ -754,7 +754,6 @@ UpdateConModePage ( UINTN Index; UINTN Col; UINTN Row; - CHAR16 RowString[50]; CHAR16 ModeString[50]; CHAR16 *PStr; UINTN MaxMode; @@ -813,10 +812,9 @@ UpdateConModePage ( // UnicodeValueToString (ModeString, 0, Col, 0); PStr = &ModeString[0]; - StrnCat (PStr, L" x ", StrLen(L" x ")); - UnicodeValueToString (RowString, 0, Row, 0); - PStr = &ModeString[0]; - StrnCat (PStr, RowString, StrLen(RowString)); + StrnCat (PStr, L" x ", StrLen(L" x ") + 1); + PStr = PStr + StrLen (PStr); + UnicodeValueToString (PStr , 0, Row, 0); ModeToken[Index] = HiiSetString (CallbackData->BmmHiiHandle, 0, ModeString, NULL); diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c b/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c index 9f25ebca6b..55fce979f7 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c @@ -721,6 +721,9 @@ UpdateFrontPageStrings ( Record = NULL; do { Status = DataHub->GetNextRecord (DataHub, &MonotonicCount, NULL, &Record); + if (EFI_ERROR (Status) || Record == NULL) { + break; + } if (Record->DataRecordClass == EFI_DATA_RECORD_CLASS_DATA) { DataHeader = (EFI_SUBCLASS_TYPE1_HEADER *) (Record + 1); if (CompareGuid (&Record->DataRecordGuid, &gEfiMiscSubClassGuid) &&