Reviewed-by: Liming Gao <[email protected]>

> -----Original Message-----
> From: Bi, Dandan
> Sent: Wednesday, November 7, 2018 10:53 PM
> To: [email protected]
> Cc: Gao, Liming <[email protected]>; Dong, Eric <[email protected]>; 
> Zeng, Star <[email protected]>; Wu, Hao A
> <[email protected]>
> Subject: [patch] MdeModulePkg/DisplayEngine: Remove useless NULL ptr check 
> for NewPos
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1306
> 
> In function UiDisplayMenu, the NewPos ptr which used to point to the
> highlight menu entry. It will always point to the menu entry which
> need to be highlighted or the gMenuOption menu if the highlight menu
> is not found.
> So we can remove the NULL ptr check for NewPos in this function.
> And add the ASSERT code to avoid if any false positive reports
> of NULL pointer dereference issue raised from static analysis.
> 
> Cc: Liming Gao <[email protected]>
> Cc: Eric Dong <[email protected]>
> Cc: Star Zeng <[email protected]>
> Cc: Hao Wu <[email protected]>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Dandan Bi <[email protected]>
> ---
>  MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c 
> b/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
> index 7390f954b6..44f087fe01 100644
> --- a/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
> +++ b/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
> @@ -2880,10 +2880,11 @@ UiDisplayMenu (
>        //             MenuOption is set to NULL in Repaint
>        // NewPos:     Current menu option that need to hilight
>        //
>        ControlFlag = CfUpdateHelpString;
> 
> +      ASSERT (NewPos != NULL);
>        UpdateHighlightMenuInfo(NewPos, TopOfScreen, SkipValue);
> 
>        if (SkipHighLight) {
>          SkipHighLight = FALSE;
>          MenuOption    = SavedMenuOption;
> @@ -2908,11 +2909,11 @@ UiDisplayMenu (
>          Temp2 = SkipValue;
>        } else {
>          Temp2 = 0;
>        }
> 
> -      if (NewPos != NULL && (MenuOption == NULL || NewPos != 
> &MenuOption->Link)) {
> +      if (MenuOption == NULL || NewPos != &MenuOption->Link) {
>          if (MenuOption != NULL) {
>            //
>            // Remove the old highlight menu.
>            //
>            Status = DisplayOneMenu (MenuOption,
> --
> 2.18.0.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to