Hi Dandan, Brian, On 01/14/20 09:56, Dandan Bi wrote: > From: Brian R Haug <brian.r.h...@intel.com> > > Update data type of variables which save the opcode numbers > to UINTN, in case some configuration module has lots of > configuration items. > > Cc: Liming Gao <liming....@intel.com> > Cc: Eric Dong <eric.d...@intel.com> > Signed-off-by: Brian R Haug <brian.r.h...@intel.com> > Reviewed-by: Dandan Bi <dandan...@intel.com> > --- > .../Universal/SetupBrowserDxe/IfrParse.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c > b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c > index 891b95cf9f..edb6a0fc4c 100644 > --- a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c > +++ b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c > @@ -1,17 +1,17 @@ > /** @file > Parser for IFR binary encoding. > > -Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR> > +Copyright (c) 2007 - 2020, Intel Corporation. All rights reserved.<BR> > SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > > #include "Setup.h" > > -UINT16 mStatementIndex; > -UINT16 mExpressionOpCodeIndex; > +UINTN mStatementIndex; > +UINTN mExpressionOpCodeIndex; > EFI_QUESTION_ID mUsedQuestionId; > extern LIST_ENTRY gBrowserStorageList; > /** > Initialize Statement header members. > > @@ -1104,16 +1104,16 @@ IsUnKnownOpCode ( > > **/ > VOID > CountOpCodes ( > IN FORM_BROWSER_FORMSET *FormSet, > - IN OUT UINT16 *NumberOfStatement, > - IN OUT UINT16 *NumberOfExpression > + OUT UINTN *NumberOfStatement, > + OUT UINTN *NumberOfExpression > ) > { > - UINT16 StatementCount; > - UINT16 ExpressionCount; > + UINTN StatementCount; > + UINTN ExpressionCount; > UINT8 *OpCodeData; > UINTN Offset; > UINTN OpCodeLen; > > Offset = 0; > @@ -1167,12 +1167,12 @@ ParseOpCodes ( > FORMSET_STORAGE *Storage; > FORMSET_DEFAULTSTORE *DefaultStore; > QUESTION_DEFAULT *CurrentDefault; > QUESTION_OPTION *CurrentOption; > UINT8 Width; > - UINT16 NumberOfStatement; > - UINT16 NumberOfExpression; > + UINTN NumberOfStatement; > + UINTN NumberOfExpression; > EFI_IMAGE_ID *ImageId; > BOOLEAN SuppressForQuestion; > BOOLEAN SuppressForOption; > UINT16 DepthOfDisable; > BOOLEAN OpCodeDisabled; >
I think this patch is incomplete. While the following statements will adapt automatically: FormSet->StatementBuffer = AllocateZeroPool (NumberOfStatement * sizeof (FORM_BROWSER_STATEMENT)); FormSet->ExpressionBuffer = AllocateZeroPool (NumberOfExpression * sizeof (EXPRESSION_OPCODE)); I think we'll need to update the indexing into those arrays explicitly. Namely, > diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c > b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c > index 891b95cf9fb8..9b241ded8cdc 100644 > --- a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c > +++ b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c > @@ -8,8 +8,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > #include "Setup.h" > > -UINT16 mStatementIndex; > -UINT16 mExpressionOpCodeIndex; > +UINTN mStatementIndex; > +UINTN mExpressionOpCodeIndex; > EFI_QUESTION_ID mUsedQuestionId; > extern LIST_ENTRY gBrowserStorageList; > /** Do you agree? Thanks Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#53225): https://edk2.groups.io/g/devel/message/53225 Mute This Topic: https://groups.io/mt/69690491/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-