{\r
EFI_STATUS Status;\r
EFI_STRING_ID ListType;\r
+ EFI_STRING FormatNameString;\r
+ EFI_STRING FormatHelpString;\r
+ EFI_STRING FormatTypeString;\r
EFI_SIGNATURE_LIST *ListWalker;\r
EFI_IFR_GUID_LABEL *StartLabel;\r
EFI_IFR_GUID_LABEL *EndLabel;\r
CHAR16 HelpBuffer[BUFFER_MAX_SIZE];\r
\r
Status = EFI_SUCCESS;\r
+ FormatNameString = NULL;\r
+ FormatHelpString = NULL;\r
StartOpCodeHandle = NULL;\r
EndOpCodeHandle = NULL;\r
StartGotoHandle = NULL;\r
goto ON_EXIT;\r
}\r
\r
+ FormatNameString = HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_LIST_NAME_FORMAT), NULL);\r
+ FormatHelpString = HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_LIST_HELP_FORMAT), NULL);\r
+ if (FormatNameString == NULL || FormatHelpString == NULL) {\r
+ goto ON_EXIT;\r
+ }\r
+\r
RemainingSize = DataSize;\r
ListWalker = (EFI_SIGNATURE_LIST *)VariableData;\r
while ((RemainingSize > 0) && (RemainingSize >= ListWalker->SignatureListSize)) {\r
} else {\r
ListType = STRING_TOKEN (STR_LIST_TYPE_UNKNOWN);\r
}\r
+ FormatTypeString = HiiGetString (PrivateData->HiiHandle, ListType, NULL);\r
+ if (FormatTypeString == NULL) {\r
+ goto ON_EXIT;\r
+ }\r
\r
ZeroMem (NameBuffer, sizeof (NameBuffer));\r
- UnicodeSPrint (NameBuffer,\r
- sizeof (NameBuffer),\r
- HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_LIST_NAME_FORMAT), NULL),\r
- Index + 1\r
- );\r
+ UnicodeSPrint (NameBuffer, sizeof (NameBuffer), FormatNameString, Index + 1);\r
\r
ZeroMem (HelpBuffer, sizeof (HelpBuffer));\r
UnicodeSPrint (HelpBuffer,\r
sizeof (HelpBuffer),\r
- HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_LIST_HELP_FORMAT), NULL),\r
- HiiGetString (PrivateData->HiiHandle, ListType, NULL),\r
+ FormatHelpString,\r
+ FormatTypeString,\r
SIGNATURE_DATA_COUNTS (ListWalker)\r
);\r
+ SECUREBOOT_FREE_NON_NULL (FormatTypeString);\r
+ FormatTypeString = NULL;\r
\r
HiiCreateGotoOpCode (\r
StartOpCodeHandle,\r
SECUREBOOT_FREE_NON_OPCODE (EndGotoHandle);\r
\r
SECUREBOOT_FREE_NON_NULL (VariableData);\r
+ SECUREBOOT_FREE_NON_NULL (FormatNameString);\r
+ SECUREBOOT_FREE_NON_NULL (FormatHelpString);\r
\r
PrivateData->ListCount = Index;\r
\r
EFI_STATUS Status;\r
EFI_TIME *Time;\r
EFI_STRING_ID ListTypeId;\r
+ EFI_STRING FormatHelpString;\r
+ EFI_STRING FormatTypeString;\r
UINTN DataSize;\r
UINTN HelpInfoIndex;\r
UINTN TotalSize;\r
CHAR16 *HelpInfoString;\r
BOOLEAN IsCert;\r
\r
- Status = EFI_SUCCESS;\r
- Time = NULL;\r
- HelpInfoIndex = 0;\r
- DataString = NULL;\r
- HelpInfoString = NULL;\r
- IsCert = FALSE;\r
+ Status = EFI_SUCCESS;\r
+ Time = NULL;\r
+ FormatTypeString = NULL;\r
+ HelpInfoIndex = 0;\r
+ DataString = NULL;\r
+ HelpInfoString = NULL;\r
+ IsCert = FALSE;\r
\r
if (CompareGuid(&ListEntry->SignatureType, &gEfiCertRsa2048Guid)) {\r
ListTypeId = STRING_TOKEN(STR_LIST_TYPE_RSA2048_SHA256);\r
goto ON_EXIT;\r
}\r
\r
+ FormatTypeString = HiiGetString (PrivateData->HiiHandle, ListTypeId, NULL);\r
+ if (FormatTypeString == NULL) {\r
+ goto ON_EXIT;\r
+ }\r
+\r
TotalSize = 1024;\r
HelpInfoString = AllocateZeroPool (TotalSize);\r
if (HelpInfoString == NULL) {\r
//\r
ZeroMem (GuidString, sizeof (GuidString));\r
GuidToString(&DataEntry->SignatureOwner, GuidString, BUFFER_MAX_SIZE);\r
+ FormatHelpString = HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_DATA_HELP_FORMAT_GUID), NULL);\r
+ if (FormatHelpString == NULL) {\r
+ goto ON_EXIT;\r
+ }\r
HelpInfoIndex += UnicodeSPrint (\r
&HelpInfoString[HelpInfoIndex],\r
TotalSize - sizeof(CHAR16) * HelpInfoIndex,\r
- HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_DATA_HELP_FORMAT_GUID), NULL),\r
+ FormatHelpString,\r
GuidString\r
);\r
+ SECUREBOOT_FREE_NON_NULL (FormatHelpString);\r
+ FormatHelpString = NULL;\r
\r
//\r
// Format content part, it depends on the type of signature list, hash value or CN.\r
//\r
if (IsCert) {\r
GetCommonNameFromX509 (ListEntry, DataEntry, &DataString);\r
- HelpInfoIndex += UnicodeSPrint(\r
- &HelpInfoString[HelpInfoIndex],\r
- TotalSize - sizeof(CHAR16) * HelpInfoIndex,\r
- HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_DATA_HELP_FORMAT_CN), NULL),\r
- HiiGetString (PrivateData->HiiHandle, ListTypeId, NULL),\r
- DataSize,\r
- DataString\r
- );\r
+ FormatHelpString = HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_DATA_HELP_FORMAT_CN), NULL);\r
} else {\r
//\r
// Format hash value for each signature data entry.\r
//\r
ParseHashValue (ListEntry, DataEntry, &DataString);\r
- HelpInfoIndex += UnicodeSPrint (\r
- &HelpInfoString[HelpInfoIndex],\r
- TotalSize - sizeof(CHAR16) * HelpInfoIndex,\r
- HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_DATA_HELP_FORMAT_HASH), NULL),\r
- HiiGetString (PrivateData->HiiHandle, ListTypeId, NULL),\r
- DataSize,\r
- DataString\r
- );\r
+ FormatHelpString = HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_DATA_HELP_FORMAT_HASH), NULL);\r
+ }\r
+ if (FormatHelpString == NULL) {\r
+ goto ON_EXIT;\r
}\r
+ HelpInfoIndex += UnicodeSPrint (\r
+ &HelpInfoString[HelpInfoIndex],\r
+ TotalSize - sizeof (CHAR16) * HelpInfoIndex,\r
+ FormatHelpString,\r
+ FormatTypeString,\r
+ DataSize,\r
+ DataString\r
+ );\r
+ SECUREBOOT_FREE_NON_NULL (FormatHelpString);\r
+ FormatHelpString = NULL;\r
\r
//\r
// Format revocation time part.\r
Time->Minute,\r
Time->Second\r
);\r
-\r
+ FormatHelpString = HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_DATA_HELP_FORMAT_TIME), NULL);\r
+ if (FormatHelpString == NULL) {\r
+ goto ON_EXIT;\r
+ }\r
UnicodeSPrint (\r
&HelpInfoString[HelpInfoIndex],\r
TotalSize - sizeof (CHAR16) * HelpInfoIndex,\r
- HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_DATA_HELP_FORMAT_TIME), NULL),\r
+ FormatHelpString,\r
TimeString\r
);\r
+ SECUREBOOT_FREE_NON_NULL (FormatHelpString);\r
+ FormatHelpString = NULL;\r
}\r
\r
*StringId = HiiSetString (PrivateData->HiiHandle, 0, HelpInfoString, NULL);\r
SECUREBOOT_FREE_NON_NULL (DataString);\r
SECUREBOOT_FREE_NON_NULL (HelpInfoString);\r
\r
+ SECUREBOOT_FREE_NON_NULL (FormatTypeString);\r
+\r
return Status;\r
}\r
\r
EFI_IFR_GUID_LABEL *StartLabel;\r
EFI_IFR_GUID_LABEL *EndLabel;\r
EFI_STRING_ID HelpStringId;\r
+ EFI_STRING FormatNameString;\r
VOID *StartOpCodeHandle;\r
VOID *EndOpCodeHandle;\r
UINTN DataSize;\r
CHAR16 NameBuffer[BUFFER_MAX_SIZE];\r
\r
Status = EFI_SUCCESS;\r
+ FormatNameString = NULL;\r
StartOpCodeHandle = NULL;\r
EndOpCodeHandle = NULL;\r
Index = 0;\r
ListWalker = (EFI_SIGNATURE_LIST *)((UINT8 *)ListWalker + ListWalker->SignatureListSize);\r
}\r
\r
+ FormatNameString = HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_DATA_NAME_FORMAT), NULL);\r
+ if (FormatNameString == NULL) {\r
+ goto ON_EXIT;\r
+ }\r
+\r
DataWalker = (EFI_SIGNATURE_DATA *)((UINT8 *)ListWalker + sizeof(EFI_SIGNATURE_LIST) + ListWalker->SignatureHeaderSize);\r
for (Index = 0; Index < SIGNATURE_DATA_COUNTS(ListWalker); Index = Index + 1) {\r
//\r
// Format name buffer.\r
//\r
ZeroMem (NameBuffer, sizeof (NameBuffer));\r
- UnicodeSPrint (NameBuffer,\r
- sizeof (NameBuffer),\r
- HiiGetString (PrivateData->HiiHandle, STRING_TOKEN (STR_SIGNATURE_DATA_NAME_FORMAT), NULL),\r
- Index + 1\r
- );\r
+ UnicodeSPrint (NameBuffer, sizeof (NameBuffer), FormatNameString, Index + 1);\r
\r
//\r
// Format help info buffer.\r
SECUREBOOT_FREE_NON_OPCODE (EndOpCodeHandle);\r
\r
SECUREBOOT_FREE_NON_NULL (VariableData);\r
+ SECUREBOOT_FREE_NON_NULL (FormatNameString);\r
\r
return Status;\r
}\r