MdePkg/BasePrintLib: Do not do operations with NULL

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15646 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Harry Liebel 2014-07-09 09:10:44 +00:00 committed by oliviermartin
parent 85e2e0854b
commit 28087ef09f
1 changed files with 14 additions and 7 deletions

View File

@ -373,10 +373,13 @@ BasePrintLibSPrintMarker (
}
LengthToReturn = 0;
EndBuffer = NULL;
OriginalBuffer = NULL;
//
// Reserve space for the Null terminator.
//
if (Buffer != NULL) {
BufferSize--;
OriginalBuffer = Buffer;
@ -384,6 +387,7 @@ BasePrintLibSPrintMarker (
// Set the tag for the end of the input Buffer.
//
EndBuffer = Buffer + BufferSize * BytesPerOutputCharacter;
}
if ((Flags & FORMAT_UNICODE) != 0) {
//
@ -411,7 +415,10 @@ BasePrintLibSPrintMarker (
//
// Loop until the end of the format string is reached or the output buffer is full
//
while (FormatCharacter != 0 && Buffer < EndBuffer) {
while (FormatCharacter != 0) {
if ((Buffer != NULL) && (Buffer >= EndBuffer)) {
break;
}
//
// Clear all the flag bits except those that may have been passed in
//