mirror_edk2/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers
Krzysztof Koch d23bf79734 ShellPkg: acpiview: MADT: Split structure length validation
Split the Interrupt Controller Structure length validation in the
acpiview UEFI shell tool into two logical parts:
1. Ensuring MADT table parser forward progress.
2. Preventing MADT table buffer overruns.

Also, make the condition for infinite loop detection applicable to
all types of Interrupt Controller Structures (for all interrupt models
which can be represented in MADT). Check if the controller length
specified is shorter than the byte size of the first two fields
('Type' and 'Length') present in every valid Interrupt Controller
Structure.

Signed-off-by: Krzysztof Koch <krzysztof.koch@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>
2019-07-31 09:52:57 -07:00
..
Bgrt ShellPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:25 -07:00
Dbg2 ShellPkg: acpiview: Allow passing buffer length to DumpGasStruct() 2019-07-31 09:52:43 -07:00
Dsdt ShellPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:25 -07:00
Fadt ShellPkg: acpiview: FADT: Remove redundant forward declarations 2019-07-19 08:32:43 -07:00
Gtdt ShellPkg: acpiview: GTDT: Remove redundant forward declarations 2019-07-19 08:33:03 -07:00
Iort ShellPkg: acpiview: IORT: Remove redundant forward declarations 2019-07-19 08:33:00 -07:00
Madt ShellPkg: acpiview: MADT: Split structure length validation 2019-07-31 09:52:57 -07:00
Mcfg ShellPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:25 -07:00
Pptt ShellPkg: acpiview: Improve PPTT table field validation 2019-07-02 17:21:59 +08:00
Rsdp ShellPkg: acpiview: RSDP: Make code consistent with other parsers 2019-07-31 09:52:50 -07:00
Slit ShellPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:25 -07:00
Spcr ShellPkg: acpiview: SPCR: Remove redundant forward declaration 2019-07-19 08:32:49 -07:00
Srat ShellPkg: acpiview: SRAT: Minor code style enhancements 2019-07-31 09:52:53 -07:00
Ssdt ShellPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:25 -07:00
Xsdt ShellPkg: acpiview: XSDT: Remove redundant ParseAcpi() call 2019-07-31 09:52:47 -07:00