audk/MdePkg/Library
Star Zeng e7ac09b957 MdePkg UefiLib: Check Table against NULL in ScanTableInSDT
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1266

af5e952159 abstracted generic functions
from different modules (IntelVTdDxe, S3SaveStateDxe, PcRtc,
DpDynamicCommand and PiSmmCpuDxeSmm). Some of them (IntelVTdDxe and
PcRtc) checked Table against NULL before accessing Table->Signature,
some (S3SaveStateDxe, DpDynamicCommand and PiSmmCpuDxeSmm did not.

The ScanTableInSDT() in Acpi.c of UefiLib was mainly from
S3SaveStateDxe, so it does not check Table against NULL before
accessing Table->Signature.

This patch updates ScanTableInSDT() to check Table against NULL first
before accessing Table->Signature.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
2018-10-21 09:57:44 +08:00
..
BaseCacheMaintenanceLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseCpuLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseDebugLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseDebugLibSerialPort MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseDebugPrintErrorLevelLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseExtractGuidedSectionLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseIoLibIntrinsic MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseLib MdePkg-BaseLib: Fix PathCleanUpDirectories() error involving "\..\.." 2018-10-12 11:46:17 +08:00
BaseMemoryLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseMemoryLibMmx MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
BaseMemoryLibOptDxe MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
BaseMemoryLibOptPei MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
BaseMemoryLibRepStr MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
BaseMemoryLibSse2 MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
BaseOrderedCollectionRedBlackTreeLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePcdLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePciCf8Lib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePciExpressLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePciLibCf8 MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePciLibPciExpress MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePciSegmentInfoLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePciSegmentLibPci MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePeCoffExtraActionLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePeCoffGetEntryPointLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePeCoffLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePerformanceLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePostCodeLibDebug MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePostCodeLibPort80 MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BasePrintLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseReportStatusCodeLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseRngLib MdePkg: Convert all .uni files to utf-8 2015-12-15 04:53:50 +00:00
BaseS3BootScriptLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseS3IoLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseS3PciLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseS3PciSegmentLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseS3SmbusLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseS3StallLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseSafeIntLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseSerialPortLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseSmbusLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseStackCheckLib MdePkg BaseStackCheckLib: Correct style of file header 2018-03-20 10:25:06 +08:00
BaseSynchronizationLib MdePkg/BaseSynchronizationLib GCC: simplify IA32 InternalSyncCompareExchange64() 2018-10-17 18:44:51 +02:00
BaseTimerLibNullTemplate MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
BaseUefiDecompressLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeCoreEntryPoint MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeCoreHobLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeExtractGuidedSectionLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeHobLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeHstiLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeIoLibCpuIo2 MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxePcdLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeRuntimeDebugLibSerialPort MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeRuntimePciExpressLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeServicesLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeServicesTableLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
DxeSmbusLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PciSegmentLibSegmentInfo MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiCoreEntryPoint MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiDxePostCodeLibReportStatusCode MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiExtractGuidedSectionLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiHobLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiIoLibCpuIo MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiMemoryAllocationLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiMemoryLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiPcdLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiPciLibPciCfg2 MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiPciSegmentLibPciCfg2 MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiResourcePublicationLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiServicesLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiServicesTablePointerLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeiServicesTablePointerLibIdt MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PeiSmbusLibSmbus2Ppi MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
PeimEntryPoint MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
SecPeiDxeTimerLibCpu MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
SmiHandlerProfileLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
SmmIoLib MdePkg SmmIoLib: Use NULL pointer check instead of useless Status check 2017-06-06 09:07:10 +08:00
SmmIoLibSmmCpuIo2 MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SmmLibNull MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
SmmMemLib MdePkg/SmmMemLib: Avoid possible NULL ptr dereference 2018-07-31 13:07:44 +08:00
SmmMemoryAllocationLib MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SmmPciExpressLib MdePkg: Add SMM PciExpressLib Instance 2016-09-27 11:01:23 +08:00
SmmPciLibPciRootBridgeIo MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SmmPeriodicSmiLib MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SmmServicesTableLib MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
UefiApplicationEntryPoint MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiBootServicesTableLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiDebugLibConOut MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiDebugLibDebugPortProtocol MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiDebugLibStdErr MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiDevicePathLib MdePkg: Use VENDOR_DEVICE_PATH structure for Debug Port device path 2018-10-12 14:46:01 +08:00
UefiDevicePathLibDevicePathProtocol MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiDriverEntryPoint MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiFileHandleLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiLib MdePkg UefiLib: Check Table against NULL in ScanTableInSDT 2018-10-21 09:57:44 +08:00
UefiMemoryAllocationLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiMemoryLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiPciLibPciRootBridgeIo MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiPciSegmentLibPciRootBridgeIo MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiRuntimeLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiRuntimeServicesTableLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiScsiLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00
UefiUsbLib MdePkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:48:21 +08:00