diff options
author | Saket Dumbre <97769119+sacdintel@users.noreply.github.com> | 2023-05-02 12:29:21 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-02 12:29:21 -0700 |
commit | e4ad511a36c1c11435a8ab000e0d5b280a836293 (patch) | |
tree | ecac1ac8441f01ec5712526b03a9ccfe76c47e59 | |
parent | 57813823e172a6b2120eaef18bb42516704ae638 (diff) | |
parent | ea77aba560b925bb16a221e0c9a0116f76a2c85c (diff) | |
download | acpica-e4ad511a36c1c11435a8ab000e0d5b280a836293.tar.gz |
Merge pull request #843 from gemarcano/fix_subtable_read_overflow
iasl: check Offset before Subtable dereference
-rw-r--r-- | source/common/dmtbdump2.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/source/common/dmtbdump2.c b/source/common/dmtbdump2.c index 23f3238c8..7f1efb470 100644 --- a/source/common/dmtbdump2.c +++ b/source/common/dmtbdump2.c @@ -1093,16 +1093,16 @@ NextSubtable: Subtable = ACPI_ADD_PTR (ACPI_SUBTABLE_HEADER, Subtable, Subtable->Length); - DbgPrint (ASL_PARSE_OUTPUT, "//[5) Next Subtable %p, length %X]\n", - Subtable, Subtable->Length); - DbgPrint (ASL_PARSE_OUTPUT, "//[5B) Offset from table start: 0x%8.8X%8.8X (%p)]\n", - ACPI_FORMAT_UINT64 (ACPI_CAST_PTR (char, Subtable) - ACPI_CAST_PTR (char, Table)), Subtable); - Offset = ACPI_CAST_PTR (char, Subtable) - ACPI_CAST_PTR (char, Table); if (Offset >= Table->Length) { return; } + + DbgPrint (ASL_PARSE_OUTPUT, "//[5) Next Subtable %p, length %X]\n", + Subtable, Subtable->Length); + DbgPrint (ASL_PARSE_OUTPUT, "//[5B) Offset from table start: 0x%8.8X%8.8X (%p)]\n", + ACPI_FORMAT_UINT64 (ACPI_CAST_PTR (char, Subtable) - ACPI_CAST_PTR (char, Table)), Subtable); } } |