VirtualBox

Ignore:
Timestamp:
Oct 28, 2015 8:17:18 PM (9 years ago)
Author:
vboxsync
Message:

EFI/Firmware: 'svn merge /vendor/edk2/UDK2010.SR1 /vendor/edk2/current .', reverting and removing files+dirs listed in ReadMe.vbox, resolving conflicts with help from ../UDK2014.SP1/. This is a raw untested merge.

Location:
trunk/src/VBox/Devices/EFI/Firmware
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/Firmware

  • trunk/src/VBox/Devices/EFI/Firmware/MdePkg/Library/BasePrintLib/PrintLibInternal.c

    r48674 r58459  
    1515#include "PrintLibInternal.h"
    1616
    17 #define WARNING_STATUS_NUMBER         4
    18 #define ERROR_STATUS_NUMBER           24
     17#define WARNING_STATUS_NUMBER         5
     18#define ERROR_STATUS_NUMBER           33
    1919
    2020GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 mHexStr[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
     
    2626  "Warning Write Failure",        //  RETURN_WARN_WRITE_FAILURE     = 3
    2727  "Warning Buffer Too Small",     //  RETURN_WARN_BUFFER_TOO_SMALL  = 4
     28  "Warning Stale Data",           //  RETURN_WARN_STALE_DATA        = 5
    2829  "Load Error",                   //  RETURN_LOAD_ERROR             = 1  | MAX_BIT
    2930  "Invalid Parameter",            //  RETURN_INVALID_PARAMETER      = 2  | MAX_BIT
     
    4950  "ICMP Error",                   //  RETURN_ICMP_ERROR             = 22 | MAX_BIT
    5051  "TFTP Error",                   //  RETURN_TFTP_ERROR             = 23 | MAX_BIT
    51   "Protocol Error"                //  RETURN_PROTOCOL_ERROR         = 24 | MAX_BIT
     52  "Protocol Error",               //  RETURN_PROTOCOL_ERROR         = 24 | MAX_BIT
     53  "Incompatible Version",         //  RETURN_INCOMPATIBLE_VERSION   = 25 | MAX_BIT
     54  "Security Violation",           //  RETURN_SECURITY_VIOLATION     = 26 | MAX_BIT
     55  "CRC Error",                    //  RETURN_CRC_ERROR              = 27 | MAX_BIT
     56  "End of Media",                 //  RETURN_END_OF_MEDIA           = 28 | MAX_BIT
     57  "Reserved (29)",                //  RESERVED                      = 29 | MAX_BIT
     58  "Reserved (30)",                //  RESERVED                      = 30 | MAX_BIT
     59  "End of File",                  //  RETURN_END_OF_FILE            = 31 | MAX_BIT
     60  "Invalid Language",             //  RETURN_INVALID_LANGUAGE       = 32 | MAX_BIT
     61  "Compromised Data"              //  RETURN_COMPROMISED_DATA       = 33 | MAX_BIT
    5262};
    5363
     
    204214  //
    205215  if (Width == 0 || (Flags & COMMA_TYPE) != 0) {
    206     Flags &= (~PREFIX_ZERO);
     216    Flags &= ~((UINTN) PREFIX_ZERO);
    207217  }
    208218  //
     
    364374
    365375  LengthToReturn = 0;
     376  EndBuffer = NULL;
     377  OriginalBuffer = NULL;
    366378
    367379  //
    368380  // Reserve space for the Null terminator.
    369381  //
    370   BufferSize--;
    371   OriginalBuffer = Buffer;
    372 
    373   //
    374   // Set the tag for the end of the input Buffer.
    375   //
    376   EndBuffer      = Buffer + BufferSize * BytesPerOutputCharacter;
     382  if (Buffer != NULL) {
     383    BufferSize--;
     384    OriginalBuffer = Buffer;
     385
     386    //
     387    // Set the tag for the end of the input Buffer.
     388    //
     389    EndBuffer = Buffer + BufferSize * BytesPerOutputCharacter;
     390  }
    377391
    378392  if ((Flags & FORMAT_UNICODE) != 0) {
     
    402416  // Loop until the end of the format string is reached or the output buffer is full
    403417  //
    404   while (FormatCharacter != 0 && Buffer < EndBuffer) {
     418  while (FormatCharacter != 0) {
     419    if ((Buffer != NULL) && (Buffer >= EndBuffer)) {
     420      break;
     421    }
    405422    //
    406423    // Clear all the flag bits except those that may have been passed in
    407424    //
    408     Flags &= (OUTPUT_UNICODE | FORMAT_UNICODE | COUNT_ONLY_NO_PRINT);
     425    Flags &= (UINTN) (OUTPUT_UNICODE | FORMAT_UNICODE | COUNT_ONLY_NO_PRINT);
    409426
    410427    //
     
    514531        // Flag space, +, 0, L & l are invalid for type p.
    515532        //
    516         Flags &= ~(PREFIX_BLANK | PREFIX_SIGN | PREFIX_ZERO | LONG_TYPE);
     533        Flags &= ~((UINTN) (PREFIX_BLANK | PREFIX_SIGN | PREFIX_ZERO | LONG_TYPE));
    517534        if (sizeof (VOID *) > 4) {
    518535          Flags |= LONG_TYPE;
    519536        }
     537        //
     538        // break skipped on purpose
     539        //
    520540      case 'X':
    521541        Flags |= PREFIX_ZERO;
     
    562582          Radix = 10;
    563583          if (Comma) {
    564             Flags &= (~PREFIX_ZERO);
     584            Flags &= ~((UINTN) PREFIX_ZERO);
    565585            Precision = 1;
    566586          }
     
    631651        }
    632652        if (ArgumentString == NULL) {
    633           Flags &= (~ARGUMENT_UNICODE);
     653          Flags &= ~((UINTN) ARGUMENT_UNICODE);
    634654          ArgumentString = "<null string>";
    635655        }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette