From ccfd3da3307da898e94a477b71fe7b7316c59ff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Fri, 20 Oct 2023 14:30:19 +0200 Subject: [PATCH] reject negative autoboot timeout fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip LewiƄski --- .../Library/CustomizedDisplayLib/CustomizedDisplayLib.uni | 4 ++-- MdeModulePkg/Universal/DisplayEngineDxe/InputHandler.c | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.uni b/MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.uni index 2df5afbd22..ca3c255a29 100644 --- a/MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.uni +++ b/MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.uni @@ -43,8 +43,8 @@ #language fr-FR "Bascule la Case de pointage" #string NV_UPDATE_MESSAGE #language en-US "Configuration changed" #language fr-FR "Configuration changed" -#string INPUT_ERROR_MESSAGE #language en-US "!!" - #language fr-FR "!!" +#string INPUT_ERROR_MESSAGE #language en-US "Invalid input value" + #language fr-FR "Invalid input value" #string EMPTY_STRING #language en-US "" #language fr-FR "" #string ARE_YOU_SURE_YES #language en-US "Y" diff --git a/MdeModulePkg/Universal/DisplayEngineDxe/InputHandler.c b/MdeModulePkg/Universal/DisplayEngineDxe/InputHandler.c index 722c56aa28..5157a8ba0b 100644 --- a/MdeModulePkg/Universal/DisplayEngineDxe/InputHandler.c +++ b/MdeModulePkg/Universal/DisplayEngineDxe/InputHandler.c @@ -619,7 +619,7 @@ GetNumericInput ( if ((Question->OpCode->OpCode == EFI_IFR_NUMERIC_OP) && (NumericOp != NULL)) { if ((NumericOp->Flags & EFI_IFR_DISPLAY) == EFI_IFR_DISPLAY_UINT_HEX){ HexInput = TRUE; - } else if ((NumericOp->Flags & EFI_IFR_DISPLAY) == 0){ + } else if ( ((NumericOp->Flags & EFI_IFR_DISPLAY) == 0) || ((NumericOp->Flags & EFI_IFR_DISPLAY) == EFI_IFR_DISPLAY_UINT_DEC) ){ // // Display with EFI_IFR_DISPLAY_INT_DEC type. Support negative number. // @@ -752,6 +752,11 @@ GetNumericInput ( // In Manual input mode, check whether input the negative flag. // if (Key.UnicodeChar == '-') { + if ((NumericOp->Flags & EFI_IFR_DISPLAY) == EFI_IFR_DISPLAY_UINT_DEC){ + if (Count == 0) UpdateStatusBar(INPUT_ERROR, TRUE); + break; + } + if (Negative) { break; }