diff --git a/UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutput.c b/UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutput.c index 39ad03fe32..894647c347 100644 --- a/UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutput.c +++ b/UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutput.c @@ -435,8 +435,11 @@ GraphicsOutputDriverBindingStart ( } if (DeviceInfo->BarIndex == MAX_UINT8) { - if (Resources->AddrRangeMin == GraphicsInfo->FrameBufferBase) { - FrameBufferBase = Resources->AddrRangeMin; + if ( (GraphicsInfo->FrameBufferBase >= Resources->AddrRangeMin) + && (GraphicsInfo->FrameBufferBase - Resources->AddrRangeMin <= + Resources->AddrLen - GraphicsInfo->FrameBufferSize)) + { + FrameBufferBase = GraphicsInfo->FrameBufferBase; break; } } else {