public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] MdeModulePkg/BootManagerMenu: Add assertion to indicate no DIV by 0
@ 2017-04-11  2:21 Ruiyu Ni
  2017-04-11  2:24 ` Wu, Hao A
  0 siblings, 1 reply; 2+ messages in thread
From: Ruiyu Ni @ 2017-04-11  2:21 UTC (permalink / raw)
  To: edk2-devel; +Cc: Hao A Wu

BootMenuSelectItem() contains code to DIV BootMenuData->ItemCount.
When BootMenuData->ItemCount can be 0, the DIV operation may
trigger CPU exception.
But in logic, this case won't happen. So add assertion to indicate
it.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
---
 MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c b/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c
index 6d493e1..a25f2ca 100644
--- a/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c
+++ b/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c
@@ -1,7 +1,7 @@
 /** @file
   The application to show the Boot Manager Menu.
 
-Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>
 This program and the accompanying materials
 are licensed and made available under the terms and conditions of the BSD License
 which accompanies this distribution.  The full text of the license may be found at
@@ -374,6 +374,7 @@ BootMenuSelectItem (
   if (BootMenuData == NULL || WantSelectItem >= BootMenuData->ItemCount) {
     return EFI_INVALID_PARAMETER;
   }
+  ASSERT (BootMenuData->ItemCount != 0);
   SavedAttribute = gST->ConOut->Mode->Attribute;
   RePaintItems = FALSE;
   StartCol = BootMenuData->MenuScreen.StartCol;
-- 
2.9.0.windows.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] MdeModulePkg/BootManagerMenu: Add assertion to indicate no DIV by 0
  2017-04-11  2:21 [PATCH] MdeModulePkg/BootManagerMenu: Add assertion to indicate no DIV by 0 Ruiyu Ni
@ 2017-04-11  2:24 ` Wu, Hao A
  0 siblings, 0 replies; 2+ messages in thread
From: Wu, Hao A @ 2017-04-11  2:24 UTC (permalink / raw)
  To: Ni, Ruiyu, edk2-devel@lists.01.org

Reviewed-by: Hao Wu <hao.a.wu@intel.com>


Best Regards,
Hao Wu


> -----Original Message-----
> From: Ni, Ruiyu
> Sent: Tuesday, April 11, 2017 10:22 AM
> To: edk2-devel@lists.01.org
> Cc: Wu, Hao A
> Subject: [PATCH] MdeModulePkg/BootManagerMenu: Add assertion to indicate
> no DIV by 0
> 
> BootMenuSelectItem() contains code to DIV BootMenuData->ItemCount.
> When BootMenuData->ItemCount can be 0, the DIV operation may
> trigger CPU exception.
> But in logic, this case won't happen. So add assertion to indicate
> it.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> ---
>  MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c | 3
> ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git
> a/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c
> b/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c
> index 6d493e1..a25f2ca 100644
> --- a/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c
> +++
> b/MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c
> @@ -1,7 +1,7 @@
>  /** @file
>    The application to show the Boot Manager Menu.
> 
> -Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>
>  This program and the accompanying materials
>  are licensed and made available under the terms and conditions of the BSD
> License
>  which accompanies this distribution.  The full text of the license may be found
> at
> @@ -374,6 +374,7 @@ BootMenuSelectItem (
>    if (BootMenuData == NULL || WantSelectItem >= BootMenuData->ItemCount)
> {
>      return EFI_INVALID_PARAMETER;
>    }
> +  ASSERT (BootMenuData->ItemCount != 0);
>    SavedAttribute = gST->ConOut->Mode->Attribute;
>    RePaintItems = FALSE;
>    StartCol = BootMenuData->MenuScreen.StartCol;
> --
> 2.9.0.windows.1



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-04-11  2:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-11  2:21 [PATCH] MdeModulePkg/BootManagerMenu: Add assertion to indicate no DIV by 0 Ruiyu Ni
2017-04-11  2:24 ` Wu, Hao A

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox