diff options
-rw-r--r-- | IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c | 2 | ||||
-rw-r--r-- | IntelFrameworkModulePkg/Universal/BdsDxe/BootMngr/BootManager.c | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c index 97e808c60a..5fb764c297 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c @@ -1050,7 +1050,7 @@ BOpt_GetBootOptions ( }
if (HiiString != NULL) {
- NewLoadContext->Description = AllocateZeroPool(StrSize((UINT16*)LoadOptionPtr) + StrSize(HiiString));
+ NewLoadContext->Description = AllocateZeroPool(StringSize + StrSize(HiiString));
StrCpy (NewLoadContext->Description, HiiString);
if (StrnCmp ((UINT16*)LoadOptionPtr, L"0", 1) != 0) {
StrCat (NewLoadContext->Description, L" ");
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMngr/BootManager.c b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMngr/BootManager.c index fcf6c7bb36..817b2e0e0b 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMngr/BootManager.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMngr/BootManager.c @@ -204,6 +204,7 @@ CallBootManager ( CHAR16 *HiiString;
CHAR16 *BootStringNumber;
UINTN DevicePathType;
+ UINTN BufferSize;
gOption = NULL;
InitializeListHead (&BdsBootOptionList);
@@ -312,7 +313,9 @@ CallBootManager ( //
if (HiiString != NULL) {
BootStringNumber = Option->Description;
- Option->Description = AllocateZeroPool(StrSize(BootStringNumber) + StrSize(HiiString));
+ BufferSize = StrSize(BootStringNumber);
+ BufferSize += StrSize(HiiString);
+ Option->Description = AllocateZeroPool(BufferSize);
StrCpy (Option->Description, HiiString);
if (StrnCmp (BootStringNumber, L"0", 1) != 0) {
StrCat (Option->Description, L" ");
|