mirror_edk2/ShellPkg/Library/UefiShellAcpiViewCommandLib
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
..
Parsers ShellPkg: acpiview: MADT: Split structure length validation 2019-07-31 09:52:57 -07:00
AcpiParser.c ShellPkg: acpiview: Allow passing buffer length to DumpGasStruct() 2019-07-31 09:52:43 -07:00
AcpiParser.h ShellPkg: acpiview: Allow passing buffer length to DumpGasStruct() 2019-07-31 09:52:43 -07:00
AcpiTableParser.c ShellPkg: acpiview: Allow disabling consistency checks (-q flag) 2019-07-02 17:22:45 +08:00
AcpiTableParser.h ShellPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:25 -07:00
AcpiView.c ShellPkg: acpiview: Make '-h' option not require a parameter 2019-07-02 17:22:46 +08:00
AcpiView.h ShellPkg: acpiview: Allow disabling consistency checks (-q flag) 2019-07-02 17:22:45 +08:00
UefiShellAcpiViewCommandLib.c ShellPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:25 -07:00
UefiShellAcpiViewCommandLib.h ShellPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:25 -07:00
UefiShellAcpiViewCommandLib.inf ShellPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:25 -07:00
UefiShellAcpiViewCommandLib.uni ShellPkg: acpiview: Make '-h' option not require a parameter 2019-07-02 17:22:46 +08:00