audk/MdeModulePkg/Library
Hao Wu 213da0b540 MdeModulePkg/PrintLib: Avoid reading content beyond the format string
https://bugzilla.tianocore.org/show_bug.cgi?id=567

In functions DxePrintLibPrint2ProtocolVaListToBaseList() and
InternalPrintLibSPrintMarker(), when processing ASCII format strings, if
the format string walker pointer 'Format' is pointing at the end of the
format string (i.e. '\0'), the following expression:
*(Format + 1)
will read an undefined value.

Though this value won't affect the functionality, since it will be masked
by variable 'FormatMask':
(*(Format + 1) << 8)) & FormatMask
(FormatMask is 0xff for ASCII format string)

This commit adds additional logic to avoid reading undefined content.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2017-06-01 08:46:40 +08:00
..
AuthVariableLibNull
BaseIpmiLibNull
BasePlatformHookLibNull
BaseResetSystemLibNull MdeModulePkg/BaseResetSystemLibNull: Implement ResetPlatformSpecific 2016-09-02 10:07:14 +08:00
BaseSerialPortLib16550
BaseSortLib
BootLogoLib MdeModulePkg/BootLogoLib: Remove invalid if judgments 2016-11-11 12:55:46 +08:00
BootMaintenanceManagerUiLib MdeModulePkg/BMMUiLib: Update codes of initializing ConsoleXXXCheck array 2017-04-18 15:56:21 +08:00
BootManagerUiLib MdeModulePkg/BootManagerUiLib: rebase to ARRAY_SIZE() 2016-10-27 11:10:56 +02:00
BrotliCustomDecompressLib MdeModulePkg BrotliLib: Fix the regression logic issue in loop 2017-04-14 10:28:59 +08:00
CpuExceptionHandlerLibNull MdeModulePkg/CpuExceptionHandlerLib: Add DumpCpuContext() 2017-04-07 09:43:40 +08:00
CustomizedDisplayLib MdeModulePkg/Library: Fix typos in comments and variables 2016-10-27 09:11:19 +08:00
DebugAgentLibNull MdeModulePkg/Library: Fix typos in comments and variables 2016-10-27 09:11:19 +08:00
DeviceManagerUiLib MdeModulePkg/DeviceManagerUiLib: Fix the network device MAC display issue 2017-04-21 13:06:54 +08:00
DxeCapsuleLibFmp MdeModulePkg/DxeCapsuleLibFmp: Fix build failure 2017-03-20 10:26:59 +08:00
DxeCapsuleLibNull MdeModulePkg/DxeCapsuleLibNull: Add ProcessCapsules() interface. 2016-11-08 22:36:58 +08:00
DxeCoreMemoryAllocationLib MdeModulePkg: Refine casting expression result to bigger size 2017-03-06 14:33:20 +08:00
DxeCorePerformanceLib MdeModulePkg PerformanceLib: Fix GCC build failure caused by cfb0aba 2017-02-24 16:33:26 +08:00
DxeCrc32GuidedSectionExtractLib MdeModulePkg/Library: Fix typos in comments and variables 2016-10-27 09:11:19 +08:00
DxeDebugPrintErrorLevelLib MdeModulePkg/Library: Fix typos in comments and variables 2016-10-27 09:11:19 +08:00
DxeDpcLib
DxeFileExplorerProtocol
DxeHttpLib MdeModulePkg: Fix potential memory leaks in DxeHttpLib. 2017-05-27 09:50:10 +08:00
DxeIpIoLib MdeModulePkg: Discard received broadcast message in DxeIpIoLib. 2017-04-24 10:12:09 +08:00
DxeIpmiLibIpmiProtocol
DxeNetLib MdeModulePkg: Refine casting expression result to bigger size 2017-03-06 14:33:20 +08:00
DxePerformanceLib MdeModulePkg: Update PerformanceLib instances not to check Identifier. 2016-04-11 16:20:28 +08:00
DxePrintLibPrint2Protocol MdeModulePkg/PrintLib: Avoid reading content beyond the format string 2017-06-01 08:46:40 +08:00
DxeReportStatusCodeLib
DxeSecurityManagementLib
DxeSmmPerformanceLib MdeModulePkg DxeSmmPerformanceLib: Add missing UefiLib in *.inf at de2459d 2016-06-29 12:54:53 +08:00
DxeTcpIoLib
DxeUdpIoLib MdeModulePkg: DxeUdpIoLib: fix non-empty payload path in UDP reception 2016-04-04 13:53:12 +02:00
FileExplorerLib MdeModulePkg: Refine type cast for pointer subtraction 2017-03-06 14:14:09 +08:00
FmpAuthenticationLibNull MdeModulePkg/FmpAuthenticationLibNull: Add NULL instance FMP. 2016-11-08 22:36:55 +08:00
FrameBufferBltLib MdeModulePkg/FrameBufferBltLib: Use dynamic allocated line buffer 2017-01-24 15:06:39 +08:00
LockBoxNullLib
LzmaCustomDecompressLib MdeModulePkg LzmaDecompressLib: Update LZMA to new 16.04 version 2016-11-03 10:21:19 +08:00
NonDiscoverableDeviceRegistrationLib MdeModulePkg/NonDiscoverable: Compare SIZE_4GB with address type 2017-01-12 21:26:30 +08:00
OemHookStatusCodeLibNull
PciHostBridgeLibNull MdeModulePkg/PciHostBridgeLib: Correct the function header comments 2016-03-03 18:24:25 +01:00
PeiCrc32GuidedSectionExtractLib MdeModulePkg/Library: Fix typos in comments and variables 2016-10-27 09:11:19 +08:00
PeiDebugPrintHobLib
PeiDxeDebugLibReportStatusCode
PeiIpmiLibIpmiPpi
PeiPerformanceLib MdeModulePkg: Update PerformanceLib instances not to check Identifier. 2016-04-11 16:20:28 +08:00
PeiRecoveryLibNull
PeiReportStatusCodeLib
PeiS3LibNull
PiDxeS3BootScriptLib MdeModulePkg: Refine casting expression result to bigger size 2017-03-06 14:33:20 +08:00
PiSmmCoreMemoryAllocationLib MdeModulePkg: Refine casting expression result to bigger size 2017-03-06 14:33:20 +08:00
PiSmmCoreSmmServicesTableLib
PlatformBootManagerLibNull
PlatformHookLibSerialPortPpi MdeModulePkg: Correct PlatformHookLibSerialPortPpi module type. 2016-04-25 13:17:05 +08:00
PlatformVarCleanupLib MdeModulePkg/PlatVarCleanupLib: Add lib destructor for unclosed event 2017-03-13 09:15:40 +08:00
RuntimeDxeReportStatusCodeLib
SmmCorePerformanceLib MdeModulePkg PerformanceLib: Fix GCC build failure caused by cfb0aba 2017-02-24 16:33:26 +08:00
SmmCorePlatformHookLibNull
SmmIpmiLibSmmIpmiProtocol
SmmLockBoxLib MdeModulePkg SmmLockBoxSmmLib: Add DESTRUCTOR SmmLockBoxSmmDestructor 2016-06-07 10:01:09 +08:00
SmmMemoryAllocationProfileLib MdeModulePkg: Refine casting expression result to bigger size 2017-03-06 14:33:20 +08:00
SmmPerformanceLib MdeModulePkg: Update PerformanceLib instances not to check Identifier. 2016-04-11 16:20:28 +08:00
SmmReportStatusCodeLib
SmmSmiHandlerProfileLib MdeModulePkg/SmiHandlerProfile: Add Context support in Unregister 2017-03-13 16:04:12 +08:00
TpmMeasurementLibNull
UefiBootManagerLib MdeModulePkg/BDS: Fix a buffer overflow bug 2017-05-22 09:43:47 +08:00
UefiHiiLib MdeModulePkg/UefiHiiLib:Fix incorrect comparison expression 2017-04-05 11:26:55 +08:00
UefiHiiServicesLib
UefiMemoryAllocationProfileLib MdeModulePkg: Refine casting expression result to bigger size 2017-03-06 14:33:20 +08:00
UefiSortLib
VarCheckHiiLib MdeModulePkg: Refine casting expression result to bigger size 2017-03-06 14:33:20 +08:00
VarCheckLib MdeModulePkg VarCheck: #### in L"Boot####" are upper case hex 2016-08-31 15:23:42 +08:00
VarCheckPcdLib
VarCheckUefiLib MdeModulePkg VarCheck: #### in L"Boot####" are upper case hex 2016-08-31 15:23:42 +08:00