]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDhcp.c
add security check.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / UefiPxeBcDxe / PxeBcDhcp.c
index c04b2032c7762224808452627f722b840b7feb48..15a5b26d68cd3026c32a68a2ad5f8a92cf5dcb34 100644 (file)
@@ -1715,10 +1715,10 @@ PxeBcSelectBootMenu (
   }\r
 \r
   while (MenuSize > 0) {\r
-    MenuArray[Index]  = MenuItem;\r
+    MenuArray[Index++]  = MenuItem;\r
     MenuSize          = (UINT8) (MenuSize - (MenuItem->DescLen + 3));\r
     MenuItem          = (PXEBC_BOOT_MENU_ENTRY *) ((UINT8 *) MenuItem + MenuItem->DescLen + 3);\r
-    if (Index++ > (PXEBC_MAX_MENU_NUM - 1)) {\r
+    if (Index >= PXEBC_MAX_MENU_NUM) {\r
       break;\r
     }\r
   }\r
@@ -1738,6 +1738,7 @@ PxeBcSelectBootMenu (
   TopRow  = gST->ConOut->Mode->CursorRow - MenuNum;\r
 \r
   do {\r
+    ASSERT (Select < PXEBC_MAX_MENU_NUM);\r
     //\r
     // highlight selected row\r
     //\r