mirror_edk2/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers
Krzysztof Koch ffb18f7710 ShellPkg: acpiview: DBG2: Prevent buffer overruns
Modify the DBG2 table parsing logic to prevent reading past the ACPI
buffer lengths provided.

Modify the signature of the DumpDbgDeviceInfo() function to make it
consistent with the ACPI structure processing functions in other
acpiview parsers. Now, the length of the Debug Device Information
Structure is read before the entire structure is dumped.

This refactoring change makes it easier to stop reading beyond the
DBG2 table buffer if the Debug Device Information Structure Buffer
does not fit in the DBG2 buffer.

For processing the first two fields of the Debug Device Information
Structure (to get the length) a new ACPI_PARSER array is defined.

References:
- Microsoft Debug Port Table 2 (DBG2), December 10, 2015

Signed-off-by: Krzysztof Koch <krzysztof.koch@arm.com>
Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Reviewed-by: Zhichao Gao <zhichao.gao@inte.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2019-08-12 10:13:41 -07:00
..
Bgrt ShellPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:25 -07:00
Dbg2 ShellPkg: acpiview: DBG2: Prevent buffer overruns 2019-08-12 10:13:41 -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: Refactor PMCG node mapping count validation 2019-07-31 09:53: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/AcpiView: Fix IA32 link error 2019-08-05 14:18:10 -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