mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-24 22:24:37 +02:00
Add ASSERT() conditions to UEFI Library Print() and AsciiPrint() functions if gST->ConOut is NULL.
Add ASSERT() conditions to UEFI Library ErrorPrint() and AsciiErrorPrint() functions if gST->StdErr is NULL. Add ASSERT() conditions to UEFI Library PrintXY() and AsciiPrintXY() gST->ConsoleOutputHandle is NULL. Update Print(), AsciiPrint(), ErrorPrint(), AsciiErrorPrint() to return 0 if the Simple Text Output Protocol OutputString() call returns an error. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10576 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
de243ee444
commit
cda8ba5ed7
@ -986,6 +986,7 @@ EfiGetNameGuidFromFwVolDevicePathNode (
|
|||||||
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
|
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
|
||||||
If Format is NULL, then ASSERT().
|
If Format is NULL, then ASSERT().
|
||||||
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
||||||
|
If gST->ConOut is NULL, then ASSERT().
|
||||||
|
|
||||||
@param Format A null-terminated Unicode format string.
|
@param Format A null-terminated Unicode format string.
|
||||||
@param ... The variable argument list whose contents are accessed based
|
@param ... The variable argument list whose contents are accessed based
|
||||||
@ -1012,6 +1013,7 @@ Print (
|
|||||||
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
|
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
|
||||||
If Format is NULL, then ASSERT().
|
If Format is NULL, then ASSERT().
|
||||||
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
||||||
|
If gST->StdErr is NULL, then ASSERT().
|
||||||
|
|
||||||
@param Format A null-terminated Unicode format string.
|
@param Format A null-terminated Unicode format string.
|
||||||
@param ... The variable argument list whose contents are accessed based
|
@param ... The variable argument list whose contents are accessed based
|
||||||
@ -1037,6 +1039,7 @@ ErrorPrint (
|
|||||||
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
||||||
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
|
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
|
||||||
If Format is NULL, then ASSERT().
|
If Format is NULL, then ASSERT().
|
||||||
|
If gST->ConOut is NULL, then ASSERT().
|
||||||
|
|
||||||
@param Format A null-terminated ASCII format string.
|
@param Format A null-terminated ASCII format string.
|
||||||
@param ... The variable argument list whose contents are accessed based
|
@param ... The variable argument list whose contents are accessed based
|
||||||
@ -1062,6 +1065,7 @@ AsciiPrint (
|
|||||||
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
||||||
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
|
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
|
||||||
If Format is NULL, then ASSERT().
|
If Format is NULL, then ASSERT().
|
||||||
|
If gST->StdErr is NULL, then ASSERT().
|
||||||
|
|
||||||
@param Format A null-terminated ASCII format string.
|
@param Format A null-terminated ASCII format string.
|
||||||
@param ... The variable argument list whose contents are accessed based
|
@param ... The variable argument list whose contents are accessed based
|
||||||
@ -1098,6 +1102,7 @@ AsciiErrorPrint (
|
|||||||
string is printed, and 0 is returned.
|
string is printed, and 0 is returned.
|
||||||
If Format is NULL, then ASSERT().
|
If Format is NULL, then ASSERT().
|
||||||
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
||||||
|
If gST->ConsoleOutputHandle is NULL, then ASSERT().
|
||||||
|
|
||||||
@param PointX X coordinate to print the string.
|
@param PointX X coordinate to print the string.
|
||||||
@param PointY Y coordinate to print the string.
|
@param PointY Y coordinate to print the string.
|
||||||
@ -1147,6 +1152,7 @@ PrintXY (
|
|||||||
If the EFI_HII_FONT_PROTOCOL is not present in the handle database, then no
|
If the EFI_HII_FONT_PROTOCOL is not present in the handle database, then no
|
||||||
string is printed, and 0 is returned.
|
string is printed, and 0 is returned.
|
||||||
If Format is NULL, then ASSERT().
|
If Format is NULL, then ASSERT().
|
||||||
|
If gST->ConsoleOutputHandle is NULL, then ASSERT().
|
||||||
|
|
||||||
@param PointX X coordinate to print the string.
|
@param PointX X coordinate to print the string.
|
||||||
@param PointY Y coordinate to print the string.
|
@param PointY Y coordinate to print the string.
|
||||||
|
@ -59,12 +59,14 @@ InternalPrint (
|
|||||||
IN VA_LIST Marker
|
IN VA_LIST Marker
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
UINTN Return;
|
EFI_STATUS Status;
|
||||||
CHAR16 *Buffer;
|
UINTN Return;
|
||||||
UINTN BufferSize;
|
CHAR16 *Buffer;
|
||||||
|
UINTN BufferSize;
|
||||||
|
|
||||||
ASSERT (Format != NULL);
|
ASSERT (Format != NULL);
|
||||||
ASSERT (((UINTN) Format & BIT0) == 0);
|
ASSERT (((UINTN) Format & BIT0) == 0);
|
||||||
|
ASSERT (Console != NULL);
|
||||||
|
|
||||||
BufferSize = (PcdGet32 (PcdUefiLibMaxPrintBufferSize) + 1) * sizeof (CHAR16);
|
BufferSize = (PcdGet32 (PcdUefiLibMaxPrintBufferSize) + 1) * sizeof (CHAR16);
|
||||||
|
|
||||||
@ -77,7 +79,10 @@ InternalPrint (
|
|||||||
//
|
//
|
||||||
// To be extra safe make sure Console has been initialized
|
// To be extra safe make sure Console has been initialized
|
||||||
//
|
//
|
||||||
Console->OutputString (Console, Buffer);
|
Status = Console->OutputString (Console, Buffer);
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
Return = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FreePool (Buffer);
|
FreePool (Buffer);
|
||||||
@ -96,6 +101,7 @@ InternalPrint (
|
|||||||
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
|
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
|
||||||
If Format is NULL, then ASSERT().
|
If Format is NULL, then ASSERT().
|
||||||
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
||||||
|
If gST->ConOut is NULL, then ASSERT().
|
||||||
|
|
||||||
@param Format Null-terminated Unicode format string.
|
@param Format Null-terminated Unicode format string.
|
||||||
@param ... Variable argument list whose contents are accessed based
|
@param ... Variable argument list whose contents are accessed based
|
||||||
@ -134,6 +140,7 @@ Print (
|
|||||||
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
|
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
|
||||||
If Format is NULL, then ASSERT().
|
If Format is NULL, then ASSERT().
|
||||||
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
||||||
|
If gST->StdErr is NULL, then ASSERT().
|
||||||
|
|
||||||
@param Format Null-terminated Unicode format string.
|
@param Format Null-terminated Unicode format string.
|
||||||
@param ... Variable argument list whose contents are accessed based
|
@param ... Variable argument list whose contents are accessed based
|
||||||
@ -188,11 +195,13 @@ AsciiInternalPrint (
|
|||||||
IN VA_LIST Marker
|
IN VA_LIST Marker
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
UINTN Return;
|
EFI_STATUS Status;
|
||||||
CHAR16 *Buffer;
|
UINTN Return;
|
||||||
UINTN BufferSize;
|
CHAR16 *Buffer;
|
||||||
|
UINTN BufferSize;
|
||||||
|
|
||||||
ASSERT (Format != NULL);
|
ASSERT (Format != NULL);
|
||||||
|
ASSERT (Console != NULL);
|
||||||
|
|
||||||
BufferSize = (PcdGet32 (PcdUefiLibMaxPrintBufferSize) + 1) * sizeof (CHAR16);
|
BufferSize = (PcdGet32 (PcdUefiLibMaxPrintBufferSize) + 1) * sizeof (CHAR16);
|
||||||
|
|
||||||
@ -205,7 +214,10 @@ AsciiInternalPrint (
|
|||||||
//
|
//
|
||||||
// To be extra safe make sure Console has been initialized
|
// To be extra safe make sure Console has been initialized
|
||||||
//
|
//
|
||||||
Console->OutputString (Console, Buffer);
|
Status = Console->OutputString (Console, Buffer);
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
Return = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FreePool (Buffer);
|
FreePool (Buffer);
|
||||||
@ -223,6 +235,7 @@ AsciiInternalPrint (
|
|||||||
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
||||||
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
|
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
|
||||||
If Format is NULL, then ASSERT().
|
If Format is NULL, then ASSERT().
|
||||||
|
If gST->ConOut is NULL, then ASSERT().
|
||||||
|
|
||||||
@param Format Null-terminated ASCII format string.
|
@param Format Null-terminated ASCII format string.
|
||||||
@param ... Variable argument list whose contents are accessed based
|
@param ... Variable argument list whose contents are accessed based
|
||||||
@ -261,6 +274,7 @@ AsciiPrint (
|
|||||||
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
||||||
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
|
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
|
||||||
If Format is NULL, then ASSERT().
|
If Format is NULL, then ASSERT().
|
||||||
|
If gST->StdErr is NULL, then ASSERT().
|
||||||
|
|
||||||
@param Format Null-terminated ASCII format string.
|
@param Format Null-terminated ASCII format string.
|
||||||
@param ... Variable argument list whose contents are accessed based
|
@param ... Variable argument list whose contents are accessed based
|
||||||
@ -357,6 +371,8 @@ InternalPrintGraphic (
|
|||||||
RowInfoArray = NULL;
|
RowInfoArray = NULL;
|
||||||
|
|
||||||
ConsoleHandle = gST->ConsoleOutHandle;
|
ConsoleHandle = gST->ConsoleOutHandle;
|
||||||
|
|
||||||
|
ASSERT( ConsoleHandle != NULL);
|
||||||
|
|
||||||
Status = gBS->HandleProtocol (
|
Status = gBS->HandleProtocol (
|
||||||
ConsoleHandle,
|
ConsoleHandle,
|
||||||
@ -558,6 +574,7 @@ Error:
|
|||||||
string is printed, and 0 is returned.
|
string is printed, and 0 is returned.
|
||||||
If Format is NULL, then ASSERT().
|
If Format is NULL, then ASSERT().
|
||||||
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
||||||
|
If gST->ConsoleOutputHandle is NULL, then ASSERT().
|
||||||
|
|
||||||
@param PointX X coordinate to print the string.
|
@param PointX X coordinate to print the string.
|
||||||
@param PointY Y coordinate to print the string.
|
@param PointY Y coordinate to print the string.
|
||||||
@ -634,6 +651,7 @@ PrintXY (
|
|||||||
If the EFI_HII_FONT_PROTOCOL is not present in the handle database, then no
|
If the EFI_HII_FONT_PROTOCOL is not present in the handle database, then no
|
||||||
string is printed, and 0 is returned.
|
string is printed, and 0 is returned.
|
||||||
If Format is NULL, then ASSERT().
|
If Format is NULL, then ASSERT().
|
||||||
|
If gST->ConsoleOutputHandle is NULL, then ASSERT().
|
||||||
|
|
||||||
@param PointX X coordinate to print the string.
|
@param PointX X coordinate to print the string.
|
||||||
@param PointY Y coordinate to print the string.
|
@param PointY Y coordinate to print the string.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user