1) Fix the bug the assert conditions. || should be &&.
2) Add in code path and check-for-null-pointer to do error handling.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7308 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qwang12 2009-01-20 01:52:02 +00:00
parent 5a829f5688
commit 96ff65a1fb
3 changed files with 6 additions and 4 deletions

View File

@ -2556,7 +2556,7 @@ ExportPackageList (
UINTN ResultSize;
EFI_HII_PACKAGE_HEADER EndofPackageList;
ASSERT (Private != NULL || PackageList != NULL || UsedSize != NULL);
ASSERT (Private != NULL && PackageList != NULL && UsedSize != NULL);
ASSERT (Private->Signature == HII_DATABASE_PRIVATE_DATA_SIGNATURE);
ASSERT (IsHiiHandleValid (Handle));

View File

@ -1566,6 +1566,7 @@ HiiStringToImage (
Status = EFI_SUCCESS;
StringIn2 = NULL;
SystemDefault = NULL;
StringIn = NULL;
//
// Calculate the string output information, including specified color and font .
@ -1596,11 +1597,13 @@ HiiStringToImage (
Foreground = ((EFI_FONT_DISPLAY_INFO *) StringInfo)->ForegroundColor;
Background = ((EFI_FONT_DISPLAY_INFO *) StringInfo)->BackgroundColor;
} else {
} else if (Status == EFI_SUCCESS) {
FontInfo = &StringInfoOut->FontInfo;
Height = StringInfoOut->FontInfo.FontSize;
Foreground = StringInfoOut->ForegroundColor;
Background = StringInfoOut->BackgroundColor;
} else {
goto Exit;
}
}
@ -1609,7 +1612,6 @@ HiiStringToImage (
//
StringPtr = String;
StringIn = NULL;
//
// Ignore line-break characters only. Hyphens or dash character will be displayed

View File

@ -124,7 +124,7 @@ ConvertToUnicodeText (
ASSERT (StringSrc != NULL && BufferSize != NULL);
StringSize = AsciiStrSize (StringSrc) * 2;
if (*BufferSize < StringSize) {
if (*BufferSize < StringSize || StringDest == NULL) {
*BufferSize = StringSize;
return EFI_BUFFER_TOO_SMALL;
}