diff options
author | Krzysztof Koch <krzysztof.koch@arm.com> | 2019-08-01 16:44:03 -0700 |
---|---|---|
committer | Jaben Carsey <jaben.carsey@intel.com> | 2019-08-12 10:13:46 -0700 |
commit | 1d12f0e671550b7a1ac8f2ce282779069b94073c (patch) | |
tree | 4240515948c8e934647ca8b6dd8c74794a53cf7a /BaseTools/Source/Python/Workspace/WorkspaceCommon.py | |
parent | ffb18f7710af7e1aba192ac226528e28a4011bdb (diff) | |
download | edk2-1d12f0e671550b7a1ac8f2ce282779069b94073c.tar.gz edk2-1d12f0e671550b7a1ac8f2ce282779069b94073c.tar.bz2 edk2-1d12f0e671550b7a1ac8f2ce282779069b94073c.zip |
ShellPkg: acpiview: GTDT: Prevent buffer overruns
Modify the GTDT table parsing logic to prevent reading past the ACPI
buffer lengths provided and to make it consistent with other table
parsers. This includes converting the do-while loop in ParseAcpiGtdt()
into a while loop.
Remove a check which ensures that the entire Platform GT Block
Structure buffer has been parsed. The ACPI specification does not ban
from defining buffers which are larger than the size indicated by the
count and sizes of substructures which constitute it.
Change the data type of the Length parameter to the DumpGTBlock()
function to reflect the width of the respective ACPI structure's
field.
References:
- ACPI 6.3, January 2019, Table 5-124
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>
Diffstat (limited to 'BaseTools/Source/Python/Workspace/WorkspaceCommon.py')
0 files changed, 0 insertions, 0 deletions