From e313deb9929eafe17428556d5a6b232ec1e4afe8 Mon Sep 17 00:00:00 2001 From: xgu3 Date: Fri, 12 Jan 2007 10:27:54 +0000 Subject: To fix, 1662 Graphics Console Driver: No checking for invalid parameter in SetMode() 8588 Graphic Console should not chech PixelFormat for 800*600 resolution git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2242 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Universal/Console/GraphicsConsole/Dxe/GraphicsConsole.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/EdkModulePkg/Universal/Console/GraphicsConsole/Dxe/GraphicsConsole.c b/EdkModulePkg/Universal/Console/GraphicsConsole/Dxe/GraphicsConsole.c index 40e89a9170..05edbd0fec 100644 --- a/EdkModulePkg/Universal/Console/GraphicsConsole/Dxe/GraphicsConsole.c +++ b/EdkModulePkg/Universal/Console/GraphicsConsole/Dxe/GraphicsConsole.c @@ -378,9 +378,7 @@ GraphicsConsoleControllerDriverStart ( ); if (!EFI_ERROR (Status)) { if ((Info->HorizontalResolution == 800) && - (Info->VerticalResolution == 600) && - ((Info->PixelFormat == PixelRedGreenBlueReserved8BitPerColor) || - (Info->PixelFormat == PixelBlueGreenRedReserved8BitPerColor))) { + (Info->VerticalResolution == 600)) { Status = Private->GraphicsOutput->SetMode (Private->GraphicsOutput, ModeNumber); if (!EFI_ERROR (Status)) { gBS->FreePool (Info); @@ -1164,6 +1162,10 @@ GraphicsConsoleConOutSetMode ( UgaDraw = Private->UgaDraw; ModeData = &(Private->ModeData[ModeNumber]); + if (ModeData->Columns <= 0 && ModeData->Rows <= 0) { + return EFI_UNSUPPORTED; + } + // // Make sure the requested mode number is supported // -- cgit v1.2.3