mirror_edk2/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 MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
BaseIpmiLibNull MdeModulePkg: Add the missing Library uni files of Ipmi instances 2015-12-24 02:28:45 +00:00
BasePlatformHookLibNull MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
BaseResetSystemLibNull MdeModulePkg/BaseResetSystemLibNull: Implement ResetPlatformSpecific 2016-09-02 10:07:14 +08:00
BaseSerialPortLib16550 MdeModulePkg BaseSerialPortLib: Fix VS2010 build error 2016-01-11 00:34:15 +00:00
BaseSortLib MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
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 MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
DxeFileExplorerProtocol MdeModulePkg DxeFileExplorerProtocol: Change file format which has mixed file format. 2015-12-16 03:20:21 +00:00
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 MdeModulePkg: Add the missing Library uni files of Ipmi instances 2015-12-24 02:28:45 +00:00
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 MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
DxeSecurityManagementLib MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
DxeSmmPerformanceLib MdeModulePkg DxeSmmPerformanceLib: Add missing UefiLib in *.inf at de2459d 2016-06-29 12:54:53 +08:00
DxeTcpIoLib MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
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 MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
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 MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
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 MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
PeiDxeDebugLibReportStatusCode MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
PeiIpmiLibIpmiPpi MdeModulePkg: Add the missing Library uni files of Ipmi instances 2015-12-24 02:28:45 +00:00
PeiPerformanceLib MdeModulePkg: Update PerformanceLib instances not to check Identifier. 2016-04-11 16:20:28 +08:00
PeiRecoveryLibNull MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
PeiReportStatusCodeLib MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
PeiS3LibNull MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
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 MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
PlatformBootManagerLibNull MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
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 MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
SmmCorePerformanceLib MdeModulePkg PerformanceLib: Fix GCC build failure caused by cfb0aba 2017-02-24 16:33:26 +08:00
SmmCorePlatformHookLibNull MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
SmmIpmiLibSmmIpmiProtocol MdeModulePkg: Add the missing Library uni files of Ipmi instances 2015-12-24 02:28:45 +00:00
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 MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
SmmSmiHandlerProfileLib MdeModulePkg/SmiHandlerProfile: Add Context support in Unregister 2017-03-13 16:04:12 +08:00
TpmMeasurementLibNull MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
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 MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
UefiMemoryAllocationProfileLib MdeModulePkg: Refine casting expression result to bigger size 2017-03-06 14:33:20 +08:00
UefiSortLib MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
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 MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
VarCheckUefiLib MdeModulePkg VarCheck: #### in L"Boot####" are upper case hex 2016-08-31 15:23:42 +08:00