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
     {

Reply via email to