OSDN Git Service

ACPICA: struct acpi_resource_vendor: Replace 1-element array with flexible array
authorKees Cook <kees@outflux.net>
Wed, 5 Apr 2023 13:48:10 +0000 (15:48 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 6 Apr 2023 18:29:11 +0000 (20:29 +0200)
ACPICA commit 446d05d5ea77946b8b3b8d0c638d1a446b18503e

Similar to commit 7ba2f3d91a32 ("Replace one-element array with
flexible-array"), replace the 1-element array with a proper
flexible array member as defined by C99. This allows the code to
operate without tripping compile-time and run-time bounds checkers
(e.g. via __builtin_object_size(), -fsanitize=bounds, and/or
-fstrict-flex-arrays=3).

No binary changes appear in the .text nor .data sections.

Link: https://github.com/acpica/acpica/commit/446d05d5
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
include/acpi/acrestyp.h

index f913983..77d7355 100644 (file)
@@ -194,7 +194,7 @@ struct acpi_resource_fixed_dma {
 
 struct acpi_resource_vendor {
        u16 byte_length;
-       u8 byte_data[1];
+       u8 byte_data[];
 };
 
 /* Vendor resource with UUID info (introduced in ACPI 3.0) */
@@ -203,7 +203,7 @@ struct acpi_resource_vendor_typed {
        u16 byte_length;
        u8 uuid_subtype;
        u8 uuid[ACPI_UUID_LENGTH];
-       u8 byte_data[1];
+       u8 byte_data[];
 };
 
 struct acpi_resource_end_tag {