K8:
1) Replace immediate constant with MACRO. 2) Add in ASSERT for NULL before dereferencing pointers and after memory allocation. 3) Add a return statement in ProcessOptions to handle the mismatch between the value stored and the opcode for one-of-option in orderedlist opcode. This case occurs when the one-of-optoin entry in OrderedList get deleted. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7320 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -188,6 +188,8 @@ DisplayPageFrame (
|
||||
CHAR16 *StrFrontPageBanner;
|
||||
UINTN Row;
|
||||
EFI_SCREEN_DESCRIPTOR LocalScreen;
|
||||
UINTN RowIdx;
|
||||
UINTN ColumnIdx;
|
||||
|
||||
ZeroMem (&LocalScreen, sizeof (EFI_SCREEN_DESCRIPTOR));
|
||||
gST->ConOut->QueryMode (gST->ConOut, gST->ConOut->Mode->Mode, &LocalScreen.RightColumn, &LocalScreen.BottomRow);
|
||||
@@ -229,9 +231,15 @@ DisplayPageFrame (
|
||||
Alignment < BANNER_COLUMNS + (UINT8) LocalScreen.LeftColumn;
|
||||
Alignment++
|
||||
) {
|
||||
if (BannerData->Banner[Line - (UINT8) LocalScreen.TopRow][Alignment - (UINT8) LocalScreen.LeftColumn] != 0x0000) {
|
||||
RowIdx = Line - (UINT8) LocalScreen.TopRow;
|
||||
ColumnIdx = Alignment - (UINT8) LocalScreen.LeftColumn;
|
||||
|
||||
ASSERT (RowIdx < BANNER_HEIGHT);
|
||||
ASSERT (ColumnIdx < BANNER_COLUMNS);
|
||||
|
||||
if (BannerData->Banner[RowIdx][ColumnIdx] != 0x0000) {
|
||||
StrFrontPageBanner = GetToken (
|
||||
BannerData->Banner[Line - (UINT8) LocalScreen.TopRow][Alignment - (UINT8) LocalScreen.LeftColumn],
|
||||
BannerData->Banner[RowIdx][ColumnIdx],
|
||||
FrontPageHandle
|
||||
);
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user