]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fix some issues reported by source static analysis tools.
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 7 Jul 2009 10:17:16 +0000 (10:17 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 7 Jul 2009 10:17:16 +0000 (10:17 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8785 6f19259b-4bc3-4df7-8a09-765794883524

IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootMaint.c
IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/FormGuid.h
IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/UpdatePage.c
IntelFrameworkModulePkg/Universal/BdsDxe/BootMngr/BootManager.c

index 7d9d47cd5dbf0950962c571ca0937555c929e3cc..d5674e3b42d555987a82c3a1d3318b39f3ce8088 100644 (file)
@@ -702,19 +702,17 @@ ApplyChangeHandler (
     break;\r
 \r
   case FORM_CON_IN_ID:\r
-    for (Index = 0; \r
-         ((Index < ConsoleInpMenu.MenuNumber) && (Index < (sizeof (CurrentFakeNVMap->ConsoleCheck) / sizeof (UINT8)))); \r
-         Index++) {\r
+    for (Index = 0; Index < ConsoleInpMenu.MenuNumber; Index++) {\r
       NewMenuEntry                = BOpt_GetMenuEntry (&ConsoleInpMenu, Index);\r
       NewConsoleContext           = (BM_CONSOLE_CONTEXT *) NewMenuEntry->VariableContext;\r
+         ASSERT (Index < MAX_MENU_NUMBER);\r
       NewConsoleContext->IsActive = CurrentFakeNVMap->ConsoleCheck[Index];\r
     }\r
 \r
-    for (Index = 0; \r
-         ((Index < TerminalMenu.MenuNumber) && (Index < (sizeof (CurrentFakeNVMap->ConsoleCheck) / sizeof (UINT8) - ConsoleInpMenu.MenuNumber))); \r
-         Index++) {\r
+    for (Index = 0; Index < TerminalMenu.MenuNumber; Index++) {\r
       NewMenuEntry                = BOpt_GetMenuEntry (&TerminalMenu, Index);\r
       NewTerminalContext          = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;\r
+         ASSERT (Index + ConsoleInpMenu.MenuNumber < MAX_MENU_NUMBER);\r
       NewTerminalContext->IsConIn = CurrentFakeNVMap->ConsoleCheck[Index + ConsoleInpMenu.MenuNumber];\r
     }\r
 \r
@@ -722,19 +720,17 @@ ApplyChangeHandler (
     break;\r
 \r
   case FORM_CON_OUT_ID:\r
-    for (Index = 0; \r
-         ((Index < ConsoleOutMenu.MenuNumber) && (Index < (sizeof (CurrentFakeNVMap->ConsoleCheck) / sizeof (UINT8)))); \r
-         Index++) {\r
+    for (Index = 0; Index < ConsoleOutMenu.MenuNumber; Index++) {\r
       NewMenuEntry                = BOpt_GetMenuEntry (&ConsoleOutMenu, Index);\r
       NewConsoleContext           = (BM_CONSOLE_CONTEXT *) NewMenuEntry->VariableContext;\r
+         ASSERT (Index < MAX_MENU_NUMBER);\r
       NewConsoleContext->IsActive = CurrentFakeNVMap->ConsoleCheck[Index];\r
     }\r
 \r
-    for (Index = 0; \r
-         ((Index < TerminalMenu.MenuNumber) && (Index < (sizeof (CurrentFakeNVMap->ConsoleCheck) / sizeof (UINT8) - ConsoleOutMenu.MenuNumber))); \r
-         Index++) {\r
+    for (Index = 0; Index < TerminalMenu.MenuNumber; Index++) {\r
       NewMenuEntry                  = BOpt_GetMenuEntry (&TerminalMenu, Index);\r
       NewTerminalContext            = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;\r
+         ASSERT (Index + ConsoleOutMenu.MenuNumber < MAX_MENU_NUMBER);\r
       NewTerminalContext->IsConOut  = CurrentFakeNVMap->ConsoleCheck[Index + ConsoleOutMenu.MenuNumber];\r
     }\r
 \r
@@ -742,20 +738,17 @@ ApplyChangeHandler (
     break;\r
 \r
   case FORM_CON_ERR_ID:\r
-    ASSERT ((ConsoleErrMenu.MenuNumber + TerminalMenu.MenuNumber) <= (sizeof (CurrentFakeNVMap->ConsoleCheck) / sizeof (UINT8)));\r
-    for (Index = 0; \r
-         ((Index < ConsoleErrMenu.MenuNumber) && (Index < (sizeof (CurrentFakeNVMap->ConsoleCheck) / sizeof (UINT8)))); \r
-         Index++) {\r
+    for (Index = 0; Index < ConsoleErrMenu.MenuNumber; Index++) {\r
       NewMenuEntry                = BOpt_GetMenuEntry (&ConsoleErrMenu, Index);\r
       NewConsoleContext           = (BM_CONSOLE_CONTEXT *) NewMenuEntry->VariableContext;\r
+         ASSERT (Index < MAX_MENU_NUMBER);\r
       NewConsoleContext->IsActive = CurrentFakeNVMap->ConsoleCheck[Index];\r
     }\r
 \r
-    for (Index = 0; \r
-         ((Index < TerminalMenu.MenuNumber) && (Index < (sizeof (CurrentFakeNVMap->ConsoleCheck) / sizeof (UINT8) - ConsoleErrMenu.MenuNumber))); \r
-         Index++) {\r
+    for (Index = 0; Index < TerminalMenu.MenuNumber; Index++) {\r
       NewMenuEntry                  = BOpt_GetMenuEntry (&TerminalMenu, Index);\r
       NewTerminalContext            = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;\r
+         ASSERT (Index + ConsoleErrMenu.MenuNumber < MAX_MENU_NUMBER);\r
       NewTerminalContext->IsStdErr  = CurrentFakeNVMap->ConsoleCheck[Index + ConsoleErrMenu.MenuNumber];\r
     }\r
 \r
index e67ae2c6287241b4f1819757de9de3194898afb8..f177e75f5e7e7040764d8b5a9c5fdc2935c9ed7e 100644 (file)
@@ -86,6 +86,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 // End Label\r
 //\r
 #define LABEL_END   0xffff\r
+#define MAX_MENU_NUMBER 100\r
 \r
 ///\r
 /// This is the structure that will be used to store the\r
@@ -124,8 +125,8 @@ typedef struct {
   //\r
   // Driver Option Add Handle page storage\r
   //\r
-  UINT16  DriverAddHandleDesc[100];\r
-  UINT16  DriverAddHandleOptionalData[100];\r
+  UINT16  DriverAddHandleDesc[MAX_MENU_NUMBER];\r
+  UINT16  DriverAddHandleOptionalData[MAX_MENU_NUMBER];\r
   UINT8   DriverAddActive;\r
   UINT8   DriverAddForceReconnect;\r
 \r
@@ -142,19 +143,19 @@ typedef struct {
   //\r
   // At most 100 input/output/errorout device for console storage\r
   //\r
-  UINT8   ConsoleCheck[100];\r
+  UINT8   ConsoleCheck[MAX_MENU_NUMBER];\r
 \r
   //\r
   // Boot or Driver Option Order storage\r
   //\r
-  UINT8   OptionOrder[100];\r
-  UINT8   DriverOptionToBeDeleted[100];\r
+  UINT8   OptionOrder[MAX_MENU_NUMBER];\r
+  UINT8   DriverOptionToBeDeleted[MAX_MENU_NUMBER];\r
 \r
   //\r
   // Boot Option Delete storage\r
   //\r
-  UINT8   BootOptionDel[100];\r
-  UINT8   DriverOptionDel[100];\r
+  UINT8   BootOptionDel[MAX_MENU_NUMBER];\r
+  UINT8   DriverOptionDel[MAX_MENU_NUMBER];\r
 \r
   //\r
   // This is the Terminal Attributes value storage\r
@@ -168,11 +169,11 @@ typedef struct {
   //\r
   // Legacy Device Order Selection Storage\r
   //\r
-  UINT8   LegacyFD[100];\r
-  UINT8   LegacyHD[100];\r
-  UINT8   LegacyCD[100];\r
-  UINT8   LegacyNET[100];\r
-  UINT8   LegacyBEV[100];\r
+  UINT8   LegacyFD[MAX_MENU_NUMBER];\r
+  UINT8   LegacyHD[MAX_MENU_NUMBER];\r
+  UINT8   LegacyCD[MAX_MENU_NUMBER];\r
+  UINT8   LegacyNET[MAX_MENU_NUMBER];\r
+  UINT8   LegacyBEV[MAX_MENU_NUMBER];\r
 \r
   //\r
   // We use DisableMap array to record the enable/disable state of each boot device\r
index 643c90d4b17124796b17b00d2e508561d7606f8e..2334fd61b639c8cf609661c8147113636988a739 100644 (file)
@@ -490,6 +490,7 @@ UpdateConsolePage (
     NewMenuEntry        = BOpt_GetMenuEntry (&TerminalMenu, Index2);\r
     NewTerminalContext  = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;\r
 \r
+    ASSERT (Index < MAX_MENU_NUMBER);\r
     if (((NewTerminalContext->IsConIn != 0) && (UpdatePageId == FORM_CON_IN_ID)) ||\r
         ((NewTerminalContext->IsConOut != 0) && (UpdatePageId == FORM_CON_OUT_ID)) ||\r
         ((NewTerminalContext->IsStdErr != 0) && (UpdatePageId == FORM_CON_ERR_ID))\r
@@ -755,6 +756,7 @@ UpdateConModePage (
   UINTN                         Row;\r
   CHAR16                        RowString[50];\r
   CHAR16                        ModeString[50];\r
+  CHAR16                        *pStr;\r
   UINTN                         TempStringLen;\r
   UINTN                         MaxMode;\r
   UINTN                         ValidMode;\r
@@ -811,11 +813,11 @@ UpdateConModePage (
     // Build mode string Column x Row\r
     //\r
     TempStringLen = UnicodeValueToString (ModeString, 0, Col, 0);\r
-    ASSERT ((TempStringLen + StrLen (L" x ")) < (sizeof (ModeString) / sizeof (ModeString[0])));\r
-    StrCat (ModeString, L" x ");\r
+    pStr = &ModeString[0];\r
+    StrnCat (pStr, L" x ", StrLen(L" x "));\r
     TempStringLen = UnicodeValueToString (RowString, 0, Row, 0);\r
-    ASSERT ((StrLen (ModeString)  + TempStringLen) < (sizeof (ModeString) / sizeof (ModeString[0])));\r
-    StrCat (ModeString, RowString);\r
+    pStr = &ModeString[0];\r
+    StrnCat (pStr, RowString, StrLen(RowString));\r
 \r
     ModeToken[Index] = HiiSetString (CallbackData->BmmHiiHandle, 0, ModeString, NULL);\r
 \r
index eda86fdcbac855898717ff4986ff32e0ecdf93a3..80af8e18033f61a84a3c7b0bdfe5dd72154ce89a 100644 (file)
@@ -273,7 +273,6 @@ CallBootManager (
     if (StrStr (Option->Description, DESCRIPTION_FLOPPY) != NULL) {\r
       BootStringNumber = Option->Description + StrLen (DESCRIPTION_FLOPPY) + 1;\r
       Option->Description = GetStringById (STRING_TOKEN (STR_DESCRIPTION_FLOPPY));\r
-      \r
     } else if (StrStr (Option->Description, DESCRIPTION_DVD) != NULL) {\r
       BootStringNumber = Option->Description + StrLen (DESCRIPTION_DVD) + 1;\r
       Option->Description = GetStringById (STRING_TOKEN (STR_DESCRIPTION_DVD));\r
@@ -299,6 +298,7 @@ CallBootManager (
       Option->Description = GetStringById (STRING_TOKEN (STR_DESCRIPTION_NON_BLOCK));\r
     }\r
     \r
+    ASSERT (Option->Description != NULL);\r
     if (StrnCmp (BootStringNumber, L"0", 1) != 0) {\r
       StrCat (Option->Description, L" ");\r
       StrCat (Option->Description, BootStringNumber);\r