summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaket Dumbre <97769119+sacdintel@users.noreply.github.com>2023-05-02 12:29:21 -0700
committerGitHub <noreply@github.com>2023-05-02 12:29:21 -0700
commite4ad511a36c1c11435a8ab000e0d5b280a836293 (patch)
treeecac1ac8441f01ec5712526b03a9ccfe76c47e59
parent57813823e172a6b2120eaef18bb42516704ae638 (diff)
parentea77aba560b925bb16a221e0c9a0116f76a2c85c (diff)
downloadacpica-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.c10
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);
}
}