Hi Dandan, On 10/08/18 03:29, Dandan Bi wrote: > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1224 > > When covert IFR binary to EFI_IFR_CHECKBOX structure, > Current code has following incorrect code logic: > IfrCheckBox = (EFI_IFR_CHECKBOX *) (IfrOpHdr + 1); > The correct one should be: > IfrCheckBox = (EFI_IFR_CHECKBOX *) IfrOpHdr; > > This patch is to fix this bug. > > Cc: Liming Gao <[email protected]> > Cc: Star Zeng <[email protected]> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Dandan Bi <[email protected]> > --- > MdeModulePkg/Universal/HiiDatabaseDxe/Database.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c > b/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c > index 45448c5198..664687796f 100644 > --- a/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c > +++ b/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c > @@ -896,11 +896,11 @@ UpdateDefaultSettingInFormPackage ( > break; > case EFI_IFR_CHECKBOX_OP: > IfrScope = IfrOpHdr->Scope; > IfrQuestionType = IfrOpHdr->OpCode; > IfrQuestionHdr = (EFI_IFR_QUESTION_HEADER *) (IfrOpHdr + 1); > - IfrCheckBox = (EFI_IFR_CHECKBOX *) (IfrOpHdr + 1); > + IfrCheckBox = (EFI_IFR_CHECKBOX *) IfrOpHdr; > EfiVarStoreIndex = IsEfiVarStoreQuestion (IfrQuestionHdr, > EfiVarStoreList, EfiVarStoreNumber); > Width = sizeof (BOOLEAN); > if (EfiVarStoreIndex < EfiVarStoreNumber) { > for (Index = 0; Index < DefaultIdNumber; Index ++) { > if (DefaultIdList[Index] == EFI_HII_DEFAULT_CLASS_STANDARD) { >
what were the practical consequences (symptoms) of this issue? Did some checkboxes not work? (I'm asking because SecureBootConfigDxe uses some checkboxes.) Thanks, Laszlo _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

