summaryrefslogtreecommitdiff
path: root/EdkModulePkg/Library/EdkIfrSupportLib
diff options
context:
space:
mode:
Diffstat (limited to 'EdkModulePkg/Library/EdkIfrSupportLib')
-rw-r--r--EdkModulePkg/Library/EdkIfrSupportLib/IfrCommon.c10
-rw-r--r--EdkModulePkg/Library/EdkIfrSupportLib/IfrVariable.c6
2 files changed, 12 insertions, 4 deletions
diff --git a/EdkModulePkg/Library/EdkIfrSupportLib/IfrCommon.c b/EdkModulePkg/Library/EdkIfrSupportLib/IfrCommon.c
index cff559cf4d..b2c906476d 100644
--- a/EdkModulePkg/Library/EdkIfrSupportLib/IfrCommon.c
+++ b/EdkModulePkg/Library/EdkIfrSupportLib/IfrCommon.c
@@ -128,6 +128,8 @@ Returns:
UINT8 *Destination;
UINTN Index;
BOOLEAN Finished;
+ UINTN SizeofLanguage;
+ UINTN SizeofString;
StringPack = (EFI_HII_STRING_PACK *) StringBuffer;
Finished = FALSE;
@@ -248,14 +250,16 @@ Returns:
//
// Pointing to a new string pack location
//
+ SizeofLanguage = StrSize (Language);
+ SizeofString = StrSize (String);
StringPackBuffer->Header.Length = (UINT32)
(
sizeof (EFI_HII_STRING_PACK) -
sizeof (EFI_STRING) +
sizeof (RELOFST) +
sizeof (RELOFST) +
- StrSize (Language) +
- StrSize (String)
+ SizeofLanguage +
+ SizeofString
);
StringPackBuffer->Header.Type = EFI_HII_STRING;
StringPackBuffer->LanguageNameString = (UINT16) ((UINTN) &PackDestination[3] - (UINTN) StringPackBuffer);
@@ -423,7 +427,7 @@ Returns:
return EFI_SUCCESS;
}
-
+STATIC
EFI_STATUS
GetHiiInterface (
OUT EFI_HII_PROTOCOL **Hii
diff --git a/EdkModulePkg/Library/EdkIfrSupportLib/IfrVariable.c b/EdkModulePkg/Library/EdkIfrSupportLib/IfrVariable.c
index 3e37553668..a4aab0ff01 100644
--- a/EdkModulePkg/Library/EdkIfrSupportLib/IfrVariable.c
+++ b/EdkModulePkg/Library/EdkIfrSupportLib/IfrVariable.c
@@ -467,11 +467,15 @@ Returns:
{
EFI_STATUS Status;
CHAR16 *NameSuffixed;
+ UINTN NameLength;
+ UINTN SuffixLength;
//
// enough to concatenate both strings.
//
- NameSuffixed = AllocateZeroPool ((StrLen (Name) + StrLen (Suffix) + 1) * sizeof (CHAR16));
+ NameLength = StrLen (Name);
+ SuffixLength = StrLen (Suffix);
+ NameSuffixed = AllocateZeroPool ((NameLength + SuffixLength + 1) * sizeof (CHAR16));
StrCpy (NameSuffixed, Name);
StrCat (NameSuffixed, Suffix);