Module Name: src
Committed By: kamil
Date: Tue May 28 13:34:40 UTC 2019
Modified Files:
src/sys/external/bsd/acpica/dist/tables: tbutils.c
Log Message:
Correct misaligned pointer dereference of type UINT32 in ACPICA
Detected with kUBSan.
To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/external/bsd/acpica/dist/tables/tbutils.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/acpica/dist/tables/tbutils.c
diff -u src/sys/external/bsd/acpica/dist/tables/tbutils.c:1.15 src/sys/external/bsd/acpica/dist/tables/tbutils.c:1.16
--- src/sys/external/bsd/acpica/dist/tables/tbutils.c:1.15 Mon Apr 29 01:18:07 2019
+++ src/sys/external/bsd/acpica/dist/tables/tbutils.c Tue May 28 13:34:40 2019
@@ -228,8 +228,9 @@ AcpiTbGetRootTableEntry (
* 32-bit platform, RSDT: Return 32-bit table entry
* 64-bit platform, RSDT: Expand 32-bit to 64-bit and return
*/
- return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR (
- UINT32, TableEntry)));
+ UINT32 addr;
+ memcpy(&addr, ACPI_CAST_PTR (UINT32, TableEntry), sizeof(addr));
+ return (ACPI_PHYSICAL_ADDRESS) addr;
}
else
{