Revision: 14330
          http://edk2.svn.sourceforge.net/edk2/?rev=14330&view=rev
Author:   vanjeff
Date:     2013-05-09 02:54:01 +0000 (Thu, 09 May 2013)
Log Message:
-----------
Sync patches r13208, r13473, r13563, r13638, r13642, r13650 and r13656 from 
main trunk.
1. Fix SMM Variable driver stack GetVariable return INVALID_PARAMETER when 
DataSize is bigger than SMM communication buffer. 
2. Fix potential overflow for SetVariable interface.
3. Use the check IsAddressValid() to prevent SMM communication buffer overflow 
in SmmVariable, FtwSmm, FpdtSmm, SmmCorePerformance and SmmBaseHelper, and add 
check to prevent InfoSize overflows in SmmVariableHandler.
4. Add check to make sure the input VariableName is A Null-terminated string.
5. Use local variable to hold StrSize (VariableName) to avoid duplicated 
StrSize calculation.

Revision Links:
--------------
    http://edk2.svn.sourceforge.net/edk2/?rev=13208&view=rev
    http://edk2.svn.sourceforge.net/edk2/?rev=13473&view=rev
    http://edk2.svn.sourceforge.net/edk2/?rev=13563&view=rev
    http://edk2.svn.sourceforge.net/edk2/?rev=13638&view=rev
    http://edk2.svn.sourceforge.net/edk2/?rev=13642&view=rev
    http://edk2.svn.sourceforge.net/edk2/?rev=13650&view=rev
    http://edk2.svn.sourceforge.net/edk2/?rev=13656&view=rev

Modified Paths:
--------------
    branches/UDK2010.SR1/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.c
    
branches/UDK2010.SR1/IntelFrameworkModulePkg/Universal/SectionExtractionDxe/SectionExtraction.c
    
branches/UDK2010.SR1/MdeModulePkg/Core/Dxe/SectionExtraction/CoreSectionExtraction.c
    branches/UDK2010.SR1/MdeModulePkg/Core/PiSmmCore/Dispatcher.c
    
branches/UDK2010.SR1/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c
    
branches/UDK2010.SR1/MdeModulePkg/Universal/DevicePathDxe/DevicePathFromText.c
    branches/UDK2010.SR1/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
    branches/UDK2010.SR1/MdeModulePkg/Universal/HiiDatabaseDxe/String.c
    branches/UDK2010.SR1/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
    branches/UDK2010.SR1/MdeModulePkg/Universal/SetupBrowserDxe/Ui.c
    branches/UDK2010.SR1/MdePkg/Library/BasePrintLib/PrintLibInternal.c

Modified: 
branches/UDK2010.SR1/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.c
===================================================================
--- branches/UDK2010.SR1/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.c     
2013-05-09 01:51:45 UTC (rev 14329)
+++ branches/UDK2010.SR1/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.c     
2013-05-09 02:54:01 UTC (rev 14330)
@@ -1475,7 +1475,7 @@
   // Reset IDE device to force it de-assert interrupt pin
   // Note: this will reset all devices on this IDE channel
   //
-  AtaSoftReset (IdeDev);
+  Status = AtaSoftReset (IdeDev);
   if (EFI_ERROR (Status)) {
     return;
   }

Modified: 
branches/UDK2010.SR1/IntelFrameworkModulePkg/Universal/SectionExtractionDxe/SectionExtraction.c
===================================================================
--- 
branches/UDK2010.SR1/IntelFrameworkModulePkg/Universal/SectionExtractionDxe/SectionExtraction.c
     2013-05-09 01:51:45 UTC (rev 14329)
+++ 
branches/UDK2010.SR1/IntelFrameworkModulePkg/Universal/SectionExtractionDxe/SectionExtraction.c
     2013-05-09 02:54:01 UTC (rev 14330)
@@ -76,6 +76,11 @@
   //
   UINTN                       EncapsulatedStreamHandle;
   EFI_GUID                    *EncapsulationGuid;
+  //
+  // If the section REQUIRES an extraction protocol, register for RPN 
+  // when the required GUIDed extraction protocol becomes available.
+  //
+  EFI_EVENT                   Event;
 } FRAMEWORK_SECTION_CHILD_NODE;
 
 #define FRAMEWORK_SECTION_STREAM_SIGNATURE SIGNATURE_32('S','X','S','S')
@@ -101,7 +106,6 @@
   FRAMEWORK_SECTION_CHILD_NODE     *ChildNode;
   FRAMEWORK_SECTION_STREAM_NODE    *ParentStream;
   VOID                             *Registration;
-  EFI_EVENT                        Event;
 } RPN_EVENT_CONTEXT;
 
 /**
@@ -650,12 +654,13 @@
   }
 
   //
-  //  If above, the stream  did not close successfully, it indicates it's
-  //  alread been closed by someone, so just destroy the event and be done with
+  //  If above, the stream did not close successfully, it indicates it's
+  //  already been closed by someone, so just destroy the event and be done 
with
   //  it.
   //
   
   gBS->CloseEvent (Event);
+  Context->ChildNode->Event = NULL;
   FreePool (Context);
 }  
 
@@ -684,14 +689,14 @@
   Context->ChildNode = ChildNode;
   Context->ParentStream = ParentStream;
  
-  Context->Event = CreateProtocolNotifyEvent (
-                    Context->ChildNode->EncapsulationGuid,
-                    TPL_NOTIFY,
-                    NotifyGuidedExtraction,
-                    Context,
-                    &Context->Registration,
-                    FALSE
-                    );
+  Context->ChildNode->Event = CreateProtocolNotifyEvent (
+                                Context->ChildNode->EncapsulationGuid,
+                                TPL_NOTIFY,
+                                NotifyGuidedExtraction,
+                                Context,
+                                &Context->Registration,
+                                FALSE
+                                );
 }
 
 /**
@@ -743,7 +748,7 @@
   //
   // Allocate a new node
   //
-  *ChildNode = AllocatePool (sizeof (FRAMEWORK_SECTION_CHILD_NODE));
+  *ChildNode = AllocateZeroPool (sizeof (FRAMEWORK_SECTION_CHILD_NODE));
   Node = *ChildNode;
   if (Node == NULL) {
     return EFI_OUT_OF_RESOURCES;
@@ -1092,6 +1097,7 @@
   CurrentChildNode = CHILD_SECTION_NODE_FROM_LINK 
(GetFirstNode(&SourceStream->Children));
 
   for (;;) {
+    ASSERT (CurrentChildNode != NULL);
     if (ChildIsType (SourceStream, CurrentChildNode, SearchType, 
SectionDefinitionGuid)) {
       //
       // The type matches, so check the instance count to see if it's the one 
we want
@@ -1108,7 +1114,6 @@
       }
     }
     
-    ASSERT (CurrentChildNode != NULL);
     if (CurrentChildNode->EncapsulatedStreamHandle != NULL_STREAM_HANDLE) {
       //
       // If the current node is an encapsulating node, recurse into it...
@@ -1386,6 +1391,11 @@
     //
     CloseSectionStream (&mSectionExtraction, 
ChildNode->EncapsulatedStreamHandle);
   }
+
+  if (ChildNode->Event != NULL) {
+    gBS->CloseEvent (ChildNode->Event);
+  }
+
   //
   // Last, free the child node itself
   //

Modified: 
branches/UDK2010.SR1/MdeModulePkg/Core/Dxe/SectionExtraction/CoreSectionExtraction.c
===================================================================
--- 
branches/UDK2010.SR1/MdeModulePkg/Core/Dxe/SectionExtraction/CoreSectionExtraction.c
        2013-05-09 01:51:45 UTC (rev 14329)
+++ 
branches/UDK2010.SR1/MdeModulePkg/Core/Dxe/SectionExtraction/CoreSectionExtraction.c
        2013-05-09 02:54:01 UTC (rev 14330)
@@ -66,6 +66,11 @@
   //
   UINTN                       EncapsulatedStreamHandle;
   EFI_GUID                    *EncapsulationGuid;
+  //
+  // If the section REQUIRES an extraction protocol, register for RPN 
+  // when the required GUIDed extraction protocol becomes available.
+  //
+  EFI_EVENT                   Event;
 } CORE_SECTION_CHILD_NODE;
 
 #define CORE_SECTION_STREAM_SIGNATURE SIGNATURE_32('S','X','S','S')
@@ -91,7 +96,6 @@
   CORE_SECTION_CHILD_NODE     *ChildNode;
   CORE_SECTION_STREAM_NODE    *ParentStream;
   VOID                        *Registration;
-  EFI_EVENT                   Event;
 } RPN_EVENT_CONTEXT;
 
 
@@ -604,6 +608,7 @@
   //  Close the event when done.
   //
   gBS->CloseEvent (Event);
+  Context->ChildNode->Event = NULL;
   FreePool (Context);
 }  
 
@@ -631,13 +636,13 @@
   Context->ChildNode = ChildNode;
   Context->ParentStream = ParentStream;
  
-  Context->Event = EfiCreateProtocolNotifyEvent (
-                    Context->ChildNode->EncapsulationGuid,
-                    TPL_NOTIFY,
-                    NotifyGuidedExtraction,
-                    Context,
-                    &Context->Registration
-                    );
+  Context->ChildNode->Event = EfiCreateProtocolNotifyEvent (
+                                Context->ChildNode->EncapsulationGuid,
+                                TPL_NOTIFY,
+                                NotifyGuidedExtraction,
+                                Context,
+                                &Context->Registration
+                                );
 }
 
 /**
@@ -692,7 +697,7 @@
   //
   // Allocate a new node
   //
-  *ChildNode = AllocatePool (sizeof (CORE_SECTION_CHILD_NODE));
+  *ChildNode = AllocateZeroPool (sizeof (CORE_SECTION_CHILD_NODE));
   Node = *ChildNode;
   if (Node == NULL) {
     return EFI_OUT_OF_RESOURCES;
@@ -1334,6 +1339,11 @@
     //
     CloseSectionStream (ChildNode->EncapsulatedStreamHandle);
   }
+
+  if (ChildNode->Event != NULL) {
+    gBS->CloseEvent (ChildNode->Event);
+  }
+
   //
   // Last, free the child node itself
   //

Modified: branches/UDK2010.SR1/MdeModulePkg/Core/PiSmmCore/Dispatcher.c
===================================================================
--- branches/UDK2010.SR1/MdeModulePkg/Core/PiSmmCore/Dispatcher.c       
2013-05-09 01:51:45 UTC (rev 14329)
+++ branches/UDK2010.SR1/MdeModulePkg/Core/PiSmmCore/Dispatcher.c       
2013-05-09 02:54:01 UTC (rev 14330)
@@ -405,7 +405,7 @@
   
   if (EFI_ERROR (Status)) {
     if (Buffer != NULL) {
-      Status = gBS->FreePool (Buffer);
+      gBS->FreePool (Buffer);
     }
     return Status;
   }
@@ -453,7 +453,7 @@
   Status = PeCoffLoaderGetImageInfo (&ImageContext);
   if (EFI_ERROR (Status)) {
     if (Buffer != NULL) {
-      Status = gBS->FreePool (Buffer);
+      gBS->FreePool (Buffer);
     }
     return Status;
   }
@@ -489,7 +489,7 @@
                    );
        if (EFI_ERROR (Status)) {
          if (Buffer != NULL) {
-           Status = gBS->FreePool (Buffer);
+           gBS->FreePool (Buffer);
          } 
          return Status;
        }     
@@ -507,7 +507,7 @@
                   );
      if (EFI_ERROR (Status)) {
        if (Buffer != NULL) {
-         Status = gBS->FreePool (Buffer);
+         gBS->FreePool (Buffer);
        }
        return Status;
      }
@@ -526,7 +526,7 @@
   Status = PeCoffLoaderLoadImage (&ImageContext);
   if (EFI_ERROR (Status)) {
     if (Buffer != NULL) {
-      Status = gBS->FreePool (Buffer);
+      gBS->FreePool (Buffer);
     }
     SmmFreePages (DstBuffer, PageCount);
     return Status;
@@ -538,7 +538,7 @@
   Status = PeCoffLoaderRelocateImage (&ImageContext);
   if (EFI_ERROR (Status)) {
     if (Buffer != NULL) {
-      Status = gBS->FreePool (Buffer);
+      gBS->FreePool (Buffer);
     }
     SmmFreePages (DstBuffer, PageCount);
     return Status;
@@ -562,7 +562,7 @@
   Status = gBS->AllocatePool (EfiBootServicesData, sizeof 
(EFI_LOADED_IMAGE_PROTOCOL), (VOID **)&DriverEntry->LoadedImage);
   if (EFI_ERROR (Status)) {
     if (Buffer != NULL) {
-      Status = gBS->FreePool (Buffer);
+      gBS->FreePool (Buffer);
     }
     SmmFreePages (DstBuffer, PageCount);
     return Status;
@@ -583,7 +583,7 @@
   Status = gBS->AllocatePool (EfiBootServicesData, GetDevicePathSize 
(FilePath), (VOID **)&DriverEntry->LoadedImage->FilePath);
   if (EFI_ERROR (Status)) {
     if (Buffer != NULL) {
-      Status = gBS->FreePool (Buffer);
+      gBS->FreePool (Buffer);
     }
     SmmFreePages (DstBuffer, PageCount);
     return Status;

Modified: 
branches/UDK2010.SR1/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c
===================================================================
--- 
branches/UDK2010.SR1/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c 
    2013-05-09 01:51:45 UTC (rev 14329)
+++ 
branches/UDK2010.SR1/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c 
    2013-05-09 02:54:01 UTC (rev 14330)
@@ -369,7 +369,7 @@
   NewNotify->Signature         = TERMINAL_CONSOLE_IN_EX_NOTIFY_SIGNATURE;
   NewNotify->KeyNotificationFn = KeyNotificationFunction;
   NewNotify->NotifyHandle      = (EFI_HANDLE) NewNotify;
-  CopyMem (&NewNotify->KeyData, KeyData, sizeof (KeyData));
+  CopyMem (&NewNotify->KeyData, KeyData, sizeof (EFI_KEY_DATA));
   InsertTailList (&TerminalDevice->NotifyList, &NewNotify->NotifyEntry);
 
   *NotifyHandle                = NewNotify->NotifyHandle;
@@ -1458,6 +1458,7 @@
           if (TerminalDevice->TerminalType == PCANSITYPE) {
             Key.ScanCode = SCAN_F10;
           }
+          break;
         case '?':
           if (TerminalDevice->TerminalType == VT100TYPE) {
             Key.ScanCode = SCAN_PAGE_UP;
@@ -1472,6 +1473,7 @@
           if (TerminalDevice->TerminalType == PCANSITYPE) {
             Key.ScanCode = SCAN_F9;
           }
+          break;
         case '/':
           if (TerminalDevice->TerminalType == VT100TYPE) {
             Key.ScanCode = SCAN_PAGE_DOWN;

Modified: 
branches/UDK2010.SR1/MdeModulePkg/Universal/DevicePathDxe/DevicePathFromText.c
===================================================================
--- 
branches/UDK2010.SR1/MdeModulePkg/Universal/DevicePathDxe/DevicePathFromText.c  
    2013-05-09 01:51:45 UTC (rev 14329)
+++ 
branches/UDK2010.SR1/MdeModulePkg/Universal/DevicePathDxe/DevicePathFromText.c  
    2013-05-09 02:54:01 UTC (rev 14330)
@@ -1,7 +1,7 @@
 /** @file
   DevicePathFromText protocol as defined in the UEFI 2.0 specification.
 
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2012, 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
@@ -2006,6 +2006,7 @@
 
   case L'S':
     Uart->Parity = 5;
+    break;
 
   default:
     Uart->Parity = 0xff;

Modified: 
branches/UDK2010.SR1/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
===================================================================
--- branches/UDK2010.SR1/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c  
2013-05-09 01:51:45 UTC (rev 14329)
+++ branches/UDK2010.SR1/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c  
2013-05-09 02:54:01 UTC (rev 14330)
@@ -1,7 +1,7 @@
 /** @file
 Implementation of interfaces function for EFI_HII_CONFIG_ROUTING_PROTOCOL.
 
-Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 2012, 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
@@ -997,6 +997,8 @@
   EFI_IFR_CHECKBOX         *IfrCheckBox;
   EFI_IFR_PASSWORD         *IfrPassword;
   EFI_IFR_STRING           *IfrString;
+  EFI_IFR_DATE             *IfrDate;
+  EFI_IFR_TIME             *IfrTime;
   IFR_DEFAULT_DATA         DefaultData;
   IFR_DEFAULT_DATA         *DefaultDataPtr;
   IFR_BLOCK_DATA           *BlockData;
@@ -1505,6 +1507,140 @@
       InsertDefaultValue (BlockData, &DefaultData);
       break;
 
+    case EFI_IFR_DATE_OP:
+      //
+      // offset by question header
+      // width MaxSize * sizeof (CHAR16)
+      // no default value, only block array
+      //
+
+      //
+      // Date question is not in IFR Form. This IFR form is not valid. 
+      //
+      if (VarStorageData->Size == 0) {
+        Status = EFI_INVALID_PARAMETER;
+        goto Done;
+      }
+      //
+      // Check whether this question is for the requested varstore.
+      //
+      IfrDate = (EFI_IFR_DATE *) IfrOpHdr;
+      if (IfrDate->Question.VarStoreId != VarStorageData->VarStoreId) {
+        break;
+      }
+
+      //
+      // Get Offset/Width by Question header and OneOf Flags
+      //
+      VarOffset = IfrDate->Question.VarStoreInfo.VarOffset;
+      VarWidth  = (UINT16) sizeof (EFI_HII_DATE);
+
+      //
+      // Check whether this question is in requested block array.
+      //
+      if (!BlockArrayCheck (RequestBlockArray, VarOffset, VarWidth)) {
+        //
+        // This question is not in the requested array. Skip it.
+        //
+        break;
+      }
+
+      //
+      // Check this var question is in the var storage 
+      //
+      if ((VarOffset + VarWidth) > VarStorageData->Size) {
+        Status = EFI_INVALID_PARAMETER;
+        goto Done;
+      }
+
+      //
+      // Set Block Data
+      //
+      BlockData = (IFR_BLOCK_DATA *) AllocateZeroPool (sizeof 
(IFR_BLOCK_DATA));
+      if (BlockData == NULL) {
+        Status = EFI_OUT_OF_RESOURCES;
+        goto Done;
+      }
+      BlockData->Offset     = VarOffset;
+      BlockData->Width      = VarWidth;
+      BlockData->QuestionId = IfrDate->Question.QuestionId;
+      BlockData->OpCode     = IfrOpHdr->OpCode;
+      BlockData->Scope      = IfrOpHdr->Scope;
+      InitializeListHead (&BlockData->DefaultValueEntry);
+
+      //
+      // Add Block Data into VarStorageData BlockEntry
+      //
+      InsertBlockData (&VarStorageData->BlockEntry, &BlockData);
+      break;
+
+    case EFI_IFR_TIME_OP:
+      //
+      // offset by question header
+      // width MaxSize * sizeof (CHAR16)
+      // no default value, only block array
+      //
+
+      //
+      // Time question is not in IFR Form. This IFR form is not valid. 
+      //
+      if (VarStorageData->Size == 0) {
+        Status = EFI_INVALID_PARAMETER;
+        goto Done;
+      }
+      //
+      // Check whether this question is for the requested varstore.
+      //
+      IfrTime = (EFI_IFR_TIME *) IfrOpHdr;
+      if (IfrTime->Question.VarStoreId != VarStorageData->VarStoreId) {
+        break;
+      }
+
+      //
+      // Get Offset/Width by Question header and OneOf Flags
+      //
+      VarOffset = IfrTime->Question.VarStoreInfo.VarOffset;
+      VarWidth  = (UINT16) sizeof (EFI_HII_TIME);
+
+      //
+      // Check whether this question is in requested block array.
+      //
+      if (!BlockArrayCheck (RequestBlockArray, VarOffset, VarWidth)) {
+        //
+        // This question is not in the requested array. Skip it.
+        //
+        break;
+      }
+
+      //
+      // Check this var question is in the var storage 
+      //
+      if ((VarOffset + VarWidth) > VarStorageData->Size) {
+        Status = EFI_INVALID_PARAMETER;
+        goto Done;
+      }
+
+      //
+      // Set Block Data
+      //
+      BlockData = (IFR_BLOCK_DATA *) AllocateZeroPool (sizeof 
(IFR_BLOCK_DATA));
+      if (BlockData == NULL) {
+        Status = EFI_OUT_OF_RESOURCES;
+        goto Done;
+      }
+      BlockData->Offset     = VarOffset;
+      BlockData->Width      = VarWidth;
+      BlockData->QuestionId = IfrTime->Question.QuestionId;
+      BlockData->OpCode     = IfrOpHdr->OpCode;
+      BlockData->Scope      = IfrOpHdr->Scope;
+      InitializeListHead (&BlockData->DefaultValueEntry);
+
+        //
+      // Add Block Data into VarStorageData BlockEntry
+      //
+      InsertBlockData (&VarStorageData->BlockEntry, &BlockData);
+      break;
+
     case EFI_IFR_STRING_OP:
       //
       // offset by question header

Modified: branches/UDK2010.SR1/MdeModulePkg/Universal/HiiDatabaseDxe/String.c
===================================================================
--- branches/UDK2010.SR1/MdeModulePkg/Universal/HiiDatabaseDxe/String.c 
2013-05-09 01:51:45 UTC (rev 14329)
+++ branches/UDK2010.SR1/MdeModulePkg/Universal/HiiDatabaseDxe/String.c 
2013-05-09 02:54:01 UTC (rev 14330)
@@ -2,7 +2,7 @@
 Implementation for EFI_HII_STRING_PROTOCOL.
 
 
-Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 2012, 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
@@ -899,6 +899,7 @@
   EFI_STRING_ID                        StartStringId;
 
   StartStringId = 0;
+  StringSize    = 0;
   ASSERT (Private != NULL && StringPackage != NULL && String != NULL);
   ASSERT (Private->Signature == HII_DATABASE_PRIVATE_DATA_SIGNATURE);
   //

Modified: branches/UDK2010.SR1/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
===================================================================
--- branches/UDK2010.SR1/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c 
2013-05-09 01:51:45 UTC (rev 14329)
+++ branches/UDK2010.SR1/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c 
2013-05-09 02:54:01 UTC (rev 14330)
@@ -750,7 +750,7 @@
 
   String = HiiGetString (HiiHandle, Token, NULL);
   if (String == NULL) {
-    String = AllocateCopyPool (sizeof (mUnknownString), mUnknownString);
+    String = AllocateCopyPool (StrSize (mUnknownString), mUnknownString);
     ASSERT (String != NULL);
   }
   return (CHAR16 *) String;
@@ -3262,7 +3262,7 @@
       //
       // Initilize Questions' Value
       //
-      LoadFormSetConfig (NULL, LocalFormSet);
+      Status = LoadFormSetConfig (NULL, LocalFormSet);
       if (EFI_ERROR (Status)) {
         DestroyFormSet (LocalFormSet);
         continue;

Modified: branches/UDK2010.SR1/MdeModulePkg/Universal/SetupBrowserDxe/Ui.c
===================================================================
--- branches/UDK2010.SR1/MdeModulePkg/Universal/SetupBrowserDxe/Ui.c    
2013-05-09 01:51:45 UTC (rev 14329)
+++ branches/UDK2010.SR1/MdeModulePkg/Universal/SetupBrowserDxe/Ui.c    
2013-05-09 02:54:01 UTC (rev 14330)
@@ -767,7 +767,9 @@
         //
         MenuOption->GrayOut = TRUE;
       }
-
+      //
+      // break skipped on purpose
+      //
     default:
       MenuOption->IsQuestion = FALSE;
       break;
@@ -955,6 +957,9 @@
           TempString[Index - 1] = CHAR_NULL;
           StrCpy (StringBuffer, TempString);
         }
+        //
+        // break skipped on purpose
+        //
 
       default:
         //

Modified: branches/UDK2010.SR1/MdePkg/Library/BasePrintLib/PrintLibInternal.c
===================================================================
--- branches/UDK2010.SR1/MdePkg/Library/BasePrintLib/PrintLibInternal.c 
2013-05-09 01:51:45 UTC (rev 14329)
+++ branches/UDK2010.SR1/MdePkg/Library/BasePrintLib/PrintLibInternal.c 
2013-05-09 02:54:01 UTC (rev 14330)
@@ -517,6 +517,9 @@
         if (sizeof (VOID *) > 4) {
           Flags |= LONG_TYPE;
         }
+        //
+        // break skipped on purpose
+        //
       case 'X':
         Flags |= PREFIX_ZERO;
         //

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to