audk/MdePkg/Library
Leif Lindholm 2ad9cf37a4 MdePkg: ensure SafeString length functions don't access beyond MaxSize
The StrnLenS and AsciiStrnLenS functions, when presented with a string
with no terminating NULL in the first MaxSize characters will check
the character at String[MaxSize] before checking if Length < MaxSize.
(They return the correct value, but have accessed beyond the stated
limit in the process.)

Flip the order of the tests to prevent this behaviour.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17936 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-13 11:35:28 +00:00
..
BaseCacheMaintenanceLib MdePkg/BaseCacheMaintenanceLib: Support IA32 processors without CLFLUSH 2015-04-27 19:35:32 +00:00
BaseCpuLib MdePkg/AArch64: use GCC_ASM_EXPORT to export functions 2015-07-09 10:43:27 +00:00
BaseDebugLibNull MdePkg: Update BaseDebugLibNull library 2015-02-06 06:35:42 +00:00
BaseDebugLibSerialPort MdePkg: Update BaseDebugLibSerialPort library 2015-02-06 06:34:56 +00:00
BaseDebugPrintErrorLevelLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseExtractGuidedSectionLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseIoLibIntrinsic MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseLib MdePkg: ensure SafeString length functions don't access beyond MaxSize 2015-07-13 11:35:28 +00:00
BaseMemoryLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseMemoryLibMmx MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseMemoryLibOptDxe MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseMemoryLibOptPei MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseMemoryLibRepStr MdePkg/BaseMemoryLibRepStr: Support IA32 processors without CMOVx 2015-04-27 19:41:19 +00:00
BaseMemoryLibSse2 MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseOrderedCollectionRedBlackTreeLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BasePalLibNull MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BasePcdLibNull MdePkg: Add a set of PcdSetXXS APIs into PcdLib and remove the ASSERT in original PcdSetXX APIs. 2015-04-10 10:05:11 +00:00
BasePciCf8Lib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BasePciExpressLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BasePciLibCf8 MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BasePciLibPciExpress MdePkg: BasePciLibPciExpress: list ARM and AARCH64 as valid architectures 2015-02-23 16:04:35 +00:00
BasePeCoffExtraActionLibNull MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BasePeCoffGetEntryPointLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BasePeCoffLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BasePerformanceLibNull MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BasePostCodeLibDebug MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BasePostCodeLibPort80 MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BasePrintLib MdePkg: Add %u and %lu support for PrintLib and DebugLib. 2015-06-08 05:37:31 +00:00
BaseReportStatusCodeLibNull MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseS3BootScriptLibNull MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseS3IoLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseS3PciLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseS3SmbusLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseS3StallLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseSerialPortLibNull MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseSmbusLibNull MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseStackCheckLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseSynchronizationLib MdePkg: BaseSynchronizationLib: fix Increment/Decrement retvals for ARM 2015-03-20 12:17:02 +00:00
BaseTimerLibNullTemplate MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
BaseUefiDecompressLib MdePkg:Fix typo 'caculate' in MdePkg. 2015-03-17 02:58:42 +00:00
DxeCoreEntryPoint MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
DxeCoreHobLib MdePkg: fix mixed dos and linux EOL format issue 2014-12-23 08:33:49 +00:00
DxeExtendedSalLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
DxeExtractGuidedSectionLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
DxeHobLib MdePkg: fix mixed dos and linux EOL format issue 2014-12-23 08:33:49 +00:00
DxeHstiLib Resolve buffer check overrun issue. 2015-01-22 03:29:17 +00:00
DxeIoLibCpuIo2 MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
DxeIoLibEsal MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
DxePalLibEsal MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
DxePcdLib MdePkg: Add a set of PcdSetXXS APIs into PcdLib and remove the ASSERT in original PcdSetXX APIs. 2015-04-10 10:05:11 +00:00
DxePciLibEsal MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
DxePciSegmentLibEsal MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
DxeRuntimeExtendedSalLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
DxeRuntimePciExpressLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
DxeSalLibEsal MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
DxeServicesLib MdePkg/DxeServicesLib: Return NULL GetFileBufferByFilePath reads directory 2015-06-18 02:21:57 +00:00
DxeServicesTableLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
DxeSmbusLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
DxeTimerLibEsal MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiCoreEntryPoint MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiDxePostCodeLibReportStatusCode MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiExtractGuidedSectionLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiHobLib MdePkg: fix mixed dos and linux EOL format issue 2014-12-23 08:33:49 +00:00
PeiIoLibCpuIo MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiMemoryAllocationLib MdePkg: Update PeiMemoryAllocationLib to allocate EfiReservedMemoryType memory directly. 2015-05-11 03:12:51 +00:00
PeiMemoryLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiPalLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiPcdLib MdePkg: Add a set of PcdSetXXS APIs into PcdLib and remove the ASSERT in original PcdSetXX APIs. 2015-04-10 10:05:11 +00:00
PeiPciLibPciCfg2 MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiPciSegmentLibPciCfg2 MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiResourcePublicationLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiServicesLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiServicesTablePointerLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiServicesTablePointerLibIdt MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiServicesTablePointerLibKr7 MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeiSmbusLibSmbus2Ppi MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
PeimEntryPoint MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
SecPeiDxeTimerLibCpu MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
SmmIoLibSmmCpuIo2 MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
SmmLibNull MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
SmmMemLib MdePkg: SmmMemLib.inf: add Depex section and update protocol usage. 2015-07-09 01:16:33 +00:00
SmmMemoryAllocationLib MdePkg: Enhance the comments for SmmMemoryAllocationLib instance. 2015-06-19 01:56:15 +00:00
SmmPciLibPciRootBridgeIo MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
SmmPeriodicSmiLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
SmmServicesTableLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
UefiApplicationEntryPoint MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
UefiBootServicesTableLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
UefiDebugLibConOut MdePkg: Update BaseDebugLibConOut library 2015-02-06 06:36:27 +00:00
UefiDebugLibStdErr MdePkg: Update BaseDebugLibStdErr library 2015-02-06 06:37:10 +00:00
UefiDevicePathLib MdePkg/UefiDevicePathLib:Fix link error due to missing RamDisk GUIDs 2015-07-09 08:51:54 +00:00
UefiDevicePathLibDevicePathProtocol Do not assert when the device path node length is invalid. 2014-12-23 09:56:33 +00:00
UefiDriverEntryPoint MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
UefiFileHandleLib MdePkg\Library\UefiFileHandleLib: Make FileHandleWriteLine support both ASCII and UNICODE file. 2015-06-24 08:09:05 +00:00
UefiLib MdePkg: Fix bug in CatVSPrint introduced by r17742. 2015-07-06 06:34:47 +00:00
UefiMemoryAllocationLib MdePkg:Fix typo 'caculate' in MdePkg. 2015-03-17 02:58:42 +00:00
UefiMemoryLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
UefiPalLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
UefiPciLibPciRootBridgeIo MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
UefiPciSegmentLibPciRootBridgeIo MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
UefiRuntimeLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
UefiRuntimeServicesTableLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
UefiSalLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00
UefiScsiLib MdePkg: UefiScsiLib: do not encode LUN in CDB for other SCSI commands 2014-11-28 10:24:56 +00:00
UefiUsbLib MdePkg: Convert non DOS format files to DOS format 2014-09-03 08:33:28 +00:00