UINTN ResultSize;\r
EFI_HII_PACKAGE_HEADER EndofPackageList;\r
\r
- ASSERT (Private != NULL || PackageList != NULL || UsedSize != NULL);\r
+ ASSERT (Private != NULL && PackageList != NULL && UsedSize != NULL);\r
ASSERT (Private->Signature == HII_DATABASE_PRIVATE_DATA_SIGNATURE);\r
ASSERT (IsHiiHandleValid (Handle));\r
\r
Status = EFI_SUCCESS;\r
StringIn2 = NULL;\r
SystemDefault = NULL;\r
+ StringIn = NULL;\r
\r
//\r
// Calculate the string output information, including specified color and font .\r
Foreground = ((EFI_FONT_DISPLAY_INFO *) StringInfo)->ForegroundColor;\r
Background = ((EFI_FONT_DISPLAY_INFO *) StringInfo)->BackgroundColor;\r
\r
- } else {\r
+ } else if (Status == EFI_SUCCESS) {\r
FontInfo = &StringInfoOut->FontInfo;\r
Height = StringInfoOut->FontInfo.FontSize;\r
Foreground = StringInfoOut->ForegroundColor;\r
Background = StringInfoOut->BackgroundColor;\r
+ } else {\r
+ goto Exit;\r
}\r
}\r
\r
//\r
\r
StringPtr = String;\r
- StringIn = NULL;\r
\r
//\r
// Ignore line-break characters only. Hyphens or dash character will be displayed\r
ASSERT (StringSrc != NULL && BufferSize != NULL);\r
\r
StringSize = AsciiStrSize (StringSrc) * 2;\r
- if (*BufferSize < StringSize) {\r
+ if (*BufferSize < StringSize || StringDest == NULL) {\r
*BufferSize = StringSize;\r
return EFI_BUFFER_TOO_SMALL;\r
}\r