EmbeddedPkg/Include/fdt.h | 4 ++-- .../Library/FrameBufferBltLib/FrameBufferBltLib.c | 2 +- MdePkg/Include/IndustryStandard/IpmiNetFnApp.h | 8 ++++---- MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h | 4 ++-- MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h | 6 +++--- MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h | 8 ++++---- MdePkg/Include/IndustryStandard/PldmSmbiosTransfer.h | 8 ++++---- MdePkg/Include/IndustryStandard/TcgStorageCore.h | 6 +++--- MdePkg/Include/Protocol/NetworkInterfaceIdentifier.h | 2 +- MdePkg/Include/Protocol/NvdimmLabel.h | 2 +- UefiPayloadPkg/Include/Coreboot.h | 10 +++++----- 11 files changed, 30 insertions(+), 30 deletions(-)
Use C99 flexible arrays instead of older style of one-element or
zero-length arrays.
It allows the compiler to generate errors when the flexible array does
not occur at the end in the structure.
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
---
EmbeddedPkg/Include/fdt.h | 4 ++--
.../Library/FrameBufferBltLib/FrameBufferBltLib.c | 2 +-
MdePkg/Include/IndustryStandard/IpmiNetFnApp.h | 8 ++++----
MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h | 4 ++--
MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h | 6 +++---
MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h | 8 ++++----
MdePkg/Include/IndustryStandard/PldmSmbiosTransfer.h | 8 ++++----
MdePkg/Include/IndustryStandard/TcgStorageCore.h | 6 +++---
MdePkg/Include/Protocol/NetworkInterfaceIdentifier.h | 2 +-
MdePkg/Include/Protocol/NvdimmLabel.h | 2 +-
UefiPayloadPkg/Include/Coreboot.h | 10 +++++-----
11 files changed, 30 insertions(+), 30 deletions(-)
diff --git a/EmbeddedPkg/Include/fdt.h b/EmbeddedPkg/Include/fdt.h
index 120dbc8bc6..f64695da5c 100644
--- a/EmbeddedPkg/Include/fdt.h
+++ b/EmbeddedPkg/Include/fdt.h
@@ -81,14 +81,14 @@ struct fdt_reserve_entry {
struct fdt_node_header {
fdt32_t tag;
- char name[0];
+ char name[];
};
struct fdt_property {
fdt32_t tag;
fdt32_t len;
fdt32_t nameoff;
- char data[0];
+ char data[];
};
#endif /* !__ASSEMBLY */
diff --git a/MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c b/MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c
index 432577bcfd..5fc5779e16 100644
--- a/MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c
+++ b/MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c
@@ -24,7 +24,7 @@ struct FRAME_BUFFER_CONFIGURE {
EFI_PIXEL_BITMASK PixelMasks;
INT8 PixelShl[4]; // R-G-B-Rsvd
INT8 PixelShr[4]; // R-G-B-Rsvd
- UINT8 LineBuffer[0];
+ UINT8 LineBuffer[];
};
CONST EFI_PIXEL_BITMASK mRgbPixelMasks = {
diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h b/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h
index b6bc91f46c..b5174a5042 100644
--- a/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h
+++ b/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h
@@ -433,7 +433,7 @@ typedef union {
typedef struct {
UINT8 CompletionCode;
IPMI_GET_MESSAGE_CHANNEL_NUMBER ChannelNumber;
- UINT8 MessageData[0];
+ UINT8 MessageData[];
} IPMI_GET_MESSAGE_RESPONSE;
//
@@ -457,12 +457,12 @@ typedef union {
typedef struct {
UINT8 CompletionCode;
IPMI_SEND_MESSAGE_CHANNEL_NUMBER ChannelNumber;
- UINT8 MessageData[0];
+ UINT8 MessageData[];
} IPMI_SEND_MESSAGE_REQUEST;
typedef struct {
UINT8 CompletionCode;
- UINT8 ResponseData[0];
+ UINT8 ResponseData[];
} IPMI_SEND_MESSAGE_RESPONSE;
//
@@ -906,7 +906,7 @@ typedef union {
typedef struct {
IPMI_SET_USER_PASSWORD_USER_ID UserId;
IPMI_SET_USER_PASSWORD_OPERATION Operation;
- UINT8 PasswordData[0]; // 16 or 20 bytes, depending on the 'PasswordSize' field
+ UINT8 PasswordData[]; // 16 or 20 bytes, depending on the 'PasswordSize' field
} IPMI_SET_USER_PASSWORD_REQUEST;
//
diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h b/MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h
index e3b8a62105..44024da69c 100644
--- a/MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h
+++ b/MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h
@@ -183,7 +183,7 @@ typedef union {
typedef struct {
IPMI_SET_BOOT_OPTIONS_PARAMETER_VALID ParameterValid;
- UINT8 ParameterData[0];
+ UINT8 ParameterData[];
} IPMI_SET_BOOT_OPTIONS_REQUEST;
typedef struct {
@@ -415,7 +415,7 @@ typedef struct {
UINT8 CompletionCode;
IPMI_GET_BOOT_OPTIONS_PARAMETER_VERSION ParameterVersion;
IPMI_GET_BOOT_OPTIONS_PARAMETER_VALID ParameterValid;
- UINT8 ParameterData[0];
+ UINT8 ParameterData[];
} IPMI_GET_BOOT_OPTIONS_RESPONSE;
//
diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h b/MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h
index 553a69a472..755bcb67e5 100644
--- a/MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h
+++ b/MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h
@@ -76,7 +76,7 @@ typedef struct {
typedef struct {
UINT8 CompletionCode;
UINT8 CountReturned;
- UINT8 Data[0];
+ UINT8 Data[];
} IPMI_READ_FRU_DATA_RESPONSE;
//
@@ -95,7 +95,7 @@ typedef struct {
typedef struct {
UINT8 DeviceId;
UINT16 InventoryOffset;
- UINT8 Data[0];
+ UINT8 Data[];
} IPMI_WRITE_FRU_DATA_REQUEST;
typedef struct {
@@ -594,7 +594,7 @@ typedef struct {
UINT16 RecordId;
UINT8 OffsetIntoRecord;
UINT8 InProgress;
- UINT8 RecordData[0];
+ UINT8 RecordData[];
} IPMI_PARTIAL_ADD_SEL_ENTRY_REQUEST;
typedef struct {
diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h b/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h
index 2024c35f7f..273a162552 100644
--- a/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h
+++ b/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h
@@ -313,7 +313,7 @@ typedef union {
typedef struct {
IPMI_SET_LAN_CONFIG_CHANNEL_NUM ChannelNumber;
UINT8 ParameterSelector;
- UINT8 ParameterData[0];
+ UINT8 ParameterData[];
} IPMI_SET_LAN_CONFIGURATION_PARAMETERS_COMMAND_REQUEST;
//
@@ -343,7 +343,7 @@ typedef struct {
typedef struct {
UINT8 CompletionCode;
UINT8 ParameterRevision;
- UINT8 ParameterData[0];
+ UINT8 ParameterData[];
} IPMI_GET_LAN_CONFIGURATION_PARAMETERS_RESPONSE;
//
@@ -879,7 +879,7 @@ typedef union {
typedef struct {
IPMI_SET_SOL_CONFIG_PARAM_CHANNEL_NUM ChannelNumber;
UINT8 ParameterSelector;
- UINT8 ParameterData[0];
+ UINT8 ParameterData[];
} IPMI_SET_SOL_CONFIGURATION_PARAMETERS_REQUEST;
//
@@ -909,7 +909,7 @@ typedef struct {
typedef struct {
UINT8 CompletionCode;
UINT8 ParameterRevision;
- UINT8 ParameterData[0];
+ UINT8 ParameterData[];
} IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE;
#pragma pack()
diff --git a/MdePkg/Include/IndustryStandard/PldmSmbiosTransfer.h b/MdePkg/Include/IndustryStandard/PldmSmbiosTransfer.h
index 9b7a5e838e..3e72812ea7 100644
--- a/MdePkg/Include/IndustryStandard/PldmSmbiosTransfer.h
+++ b/MdePkg/Include/IndustryStandard/PldmSmbiosTransfer.h
@@ -92,7 +92,7 @@ typedef struct {
typedef struct {
UINT32 NextDataTransferHandle;
UINT8 TransferFlag;
- UINT8 Table[0];
+ UINT8 Table[];
} PLDM_GET_SMBIOS_STRUCTURE_TABLE_RESPONSE;
typedef struct {
@@ -106,7 +106,7 @@ typedef struct {
typedef struct {
UINT32 DataTransferHandle;
UINT8 TransferFlag;
- UINT8 Table[0];
+ UINT8 Table[];
} PLDM_SET_SMBIOS_STRUCTURE_TABLE_REQUEST;
typedef struct {
@@ -143,7 +143,7 @@ typedef struct {
typedef struct {
UINT32 NextDataTransferHandle;
UINT8 TransferFlag;
- UINT8 Table[0];
+ UINT8 Table[];
} PLDM_GET_SMBIOS_STRUCTURE_BY_TYPE_RESPONSE;
typedef struct {
@@ -171,7 +171,7 @@ typedef struct {
typedef struct {
UINT32 NextDataTransferHandle;
UINT8 TransferFlag;
- UINT8 Table[0];
+ UINT8 Table[];
} PLDM_GET_SMBIOS_STRUCTURE_BY_HANDLE_RESPONSE;
typedef struct {
diff --git a/MdePkg/Include/IndustryStandard/TcgStorageCore.h b/MdePkg/Include/IndustryStandard/TcgStorageCore.h
index 1fae7b6e84..7502e3d46c 100644
--- a/MdePkg/Include/IndustryStandard/TcgStorageCore.h
+++ b/MdePkg/Include/IndustryStandard/TcgStorageCore.h
@@ -38,7 +38,7 @@ typedef struct {
UINT32 OutstandingDataBE;
UINT32 MinTransferBE;
UINT32 LengthBE;
- UINT8 Payload[0];
+ UINT8 Payload[];
} TCG_COM_PACKET;
typedef struct {
@@ -49,7 +49,7 @@ typedef struct {
UINT16 AckTypeBE;
UINT32 AcknowledgementBE;
UINT32 LengthBE;
- UINT8 Payload[0];
+ UINT8 Payload[];
} TCG_PACKET;
#define TCG_SUBPACKET_ALIGNMENT 4// 4-byte alignment per spec
@@ -58,7 +58,7 @@ typedef struct {
UINT8 ReservedBE[6];
UINT16 KindBE;
UINT32 LengthBE;
- UINT8 Payload[0];
+ UINT8 Payload[];
} TCG_SUB_PACKET;
#define SUBPACKET_KIND_DATA 0x0000
diff --git a/MdePkg/Include/Protocol/NetworkInterfaceIdentifier.h b/MdePkg/Include/Protocol/NetworkInterfaceIdentifier.h
index 78acb4ddae..85d904ca9c 100644
--- a/MdePkg/Include/Protocol/NetworkInterfaceIdentifier.h
+++ b/MdePkg/Include/Protocol/NetworkInterfaceIdentifier.h
@@ -101,7 +101,7 @@ struct undiconfig_table {
struct {
VOID *NII_InterfacePointer; ///< Pointer to the NII interface structure.
VOID *DevicePathPointer; ///< Pointer to the device path for this NIC.
- } NII_entry[1];
+ } NII_entry[];
};
extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid;
diff --git a/MdePkg/Include/Protocol/NvdimmLabel.h b/MdePkg/Include/Protocol/NvdimmLabel.h
index e46999a3ab..91a9b675f9 100644
--- a/MdePkg/Include/Protocol/NvdimmLabel.h
+++ b/MdePkg/Include/Protocol/NvdimmLabel.h
@@ -244,7 +244,7 @@ typedef struct {
///
/// Array size is 1 if EFI_NVDIMM_LABEL_FLAGS_LOCAL is set indicating a Local Namespaces.
///
- EFI_NVDIMM_LABEL_SET_COOKIE_MAP Mapping[0];
+ EFI_NVDIMM_LABEL_SET_COOKIE_MAP Mapping[];
} EFI_NVDIMM_LABEL_SET_COOKIE_INFO;
/**
diff --git a/UefiPayloadPkg/Include/Coreboot.h b/UefiPayloadPkg/Include/Coreboot.h
index 2d454f7c89..a53ede390c 100644
--- a/UefiPayloadPkg/Include/Coreboot.h
+++ b/UefiPayloadPkg/Include/Coreboot.h
@@ -59,7 +59,7 @@ struct cbmem_root {
UINT32 num_entries;
UINT32 locked;
UINT32 size;
- struct cbmem_entry entries[0];
+ struct cbmem_entry entries[];
};
struct imd_entry {
@@ -75,7 +75,7 @@ struct imd_root {
UINT32 flags;
UINT32 entry_align;
UINT32 max_offset;
- struct imd_entry entries[0];
+ struct imd_entry entries[];
};
struct cbuint64 {
@@ -119,7 +119,7 @@ struct cb_memory_range {
struct cb_memory {
UINT32 tag;
UINT32 size;
- struct cb_memory_range map[0];
+ struct cb_memory_range map[];
};
#define CB_TAG_MAINBOARD 0x0003
@@ -129,7 +129,7 @@ struct cb_mainboard {
UINT32 size;
UINT8 vendor_idx;
UINT8 part_number_idx;
- UINT8 strings[0];
+ UINT8 strings[];
};
#define CB_TAG_VERSION 0x0004
@@ -146,7 +146,7 @@ struct cb_mainboard {
struct cb_string {
UINT32 tag;
UINT32 size;
- UINT8 string[0];
+ UINT8 string[];
};
#define CB_TAG_SERIAL 0x000f
--
2.40.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#107898): https://edk2.groups.io/g/devel/message/107898
Mute This Topic: https://groups.io/mt/100861513/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Hi
This fix breaks the compatibility.
Have you tested all features that depends on this data structure?
Thank you
Yao, Jiewen
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Elyes Haouas
> Sent: Sunday, August 20, 2023 8:07 PM
> To: devel@edk2.groups.io
> Cc: Elyes Haouas <ehaouas@noos.fr>
> Subject: [edk2-devel] [PATCH] Use C99 flexible arrays
>
> Use C99 flexible arrays instead of older style of one-element or
> zero-length arrays.
> It allows the compiler to generate errors when the flexible array does
> not occur at the end in the structure.
>
> Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
> ---
> EmbeddedPkg/Include/fdt.h | 4 ++--
> .../Library/FrameBufferBltLib/FrameBufferBltLib.c | 2 +-
> MdePkg/Include/IndustryStandard/IpmiNetFnApp.h | 8 ++++----
> MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h | 4 ++--
> MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h | 6 +++---
> MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h | 8 ++++----
> MdePkg/Include/IndustryStandard/PldmSmbiosTransfer.h | 8 ++++----
> MdePkg/Include/IndustryStandard/TcgStorageCore.h | 6 +++---
> MdePkg/Include/Protocol/NetworkInterfaceIdentifier.h | 2 +-
> MdePkg/Include/Protocol/NvdimmLabel.h | 2 +-
> UefiPayloadPkg/Include/Coreboot.h | 10 +++++-----
> 11 files changed, 30 insertions(+), 30 deletions(-)
>
> diff --git a/EmbeddedPkg/Include/fdt.h b/EmbeddedPkg/Include/fdt.h
> index 120dbc8bc6..f64695da5c 100644
> --- a/EmbeddedPkg/Include/fdt.h
> +++ b/EmbeddedPkg/Include/fdt.h
> @@ -81,14 +81,14 @@ struct fdt_reserve_entry {
>
>
> struct fdt_node_header {
>
> fdt32_t tag;
>
> - char name[0];
>
> + char name[];
>
> };
>
>
>
> struct fdt_property {
>
> fdt32_t tag;
>
> fdt32_t len;
>
> fdt32_t nameoff;
>
> - char data[0];
>
> + char data[];
>
> };
>
>
>
> #endif /* !__ASSEMBLY */
>
> diff --git a/MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c
> b/MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c
> index 432577bcfd..5fc5779e16 100644
> --- a/MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c
> +++ b/MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c
> @@ -24,7 +24,7 @@ struct FRAME_BUFFER_CONFIGURE {
> EFI_PIXEL_BITMASK PixelMasks;
>
> INT8 PixelShl[4]; // R-G-B-Rsvd
>
> INT8 PixelShr[4]; // R-G-B-Rsvd
>
> - UINT8 LineBuffer[0];
>
> + UINT8 LineBuffer[];
>
> };
>
>
>
> CONST EFI_PIXEL_BITMASK mRgbPixelMasks = {
>
> diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h
> b/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h
> index b6bc91f46c..b5174a5042 100644
> --- a/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h
> +++ b/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h
> @@ -433,7 +433,7 @@ typedef union {
> typedef struct {
>
> UINT8 CompletionCode;
>
> IPMI_GET_MESSAGE_CHANNEL_NUMBER ChannelNumber;
>
> - UINT8 MessageData[0];
>
> + UINT8 MessageData[];
>
> } IPMI_GET_MESSAGE_RESPONSE;
>
>
>
> //
>
> @@ -457,12 +457,12 @@ typedef union {
> typedef struct {
>
> UINT8 CompletionCode;
>
> IPMI_SEND_MESSAGE_CHANNEL_NUMBER ChannelNumber;
>
> - UINT8 MessageData[0];
>
> + UINT8 MessageData[];
>
> } IPMI_SEND_MESSAGE_REQUEST;
>
>
>
> typedef struct {
>
> UINT8 CompletionCode;
>
> - UINT8 ResponseData[0];
>
> + UINT8 ResponseData[];
>
> } IPMI_SEND_MESSAGE_RESPONSE;
>
>
>
> //
>
> @@ -906,7 +906,7 @@ typedef union {
> typedef struct {
>
> IPMI_SET_USER_PASSWORD_USER_ID UserId;
>
> IPMI_SET_USER_PASSWORD_OPERATION Operation;
>
> - UINT8 PasswordData[0]; // 16 or 20 bytes, depending on the
> 'PasswordSize' field
>
> + UINT8 PasswordData[]; // 16 or 20 bytes, depending on the
> 'PasswordSize' field
>
> } IPMI_SET_USER_PASSWORD_REQUEST;
>
>
>
> //
>
> diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h
> b/MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h
> index e3b8a62105..44024da69c 100644
> --- a/MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h
> +++ b/MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h
> @@ -183,7 +183,7 @@ typedef union {
>
>
> typedef struct {
>
> IPMI_SET_BOOT_OPTIONS_PARAMETER_VALID ParameterValid;
>
> - UINT8 ParameterData[0];
>
> + UINT8 ParameterData[];
>
> } IPMI_SET_BOOT_OPTIONS_REQUEST;
>
>
>
> typedef struct {
>
> @@ -415,7 +415,7 @@ typedef struct {
> UINT8 CompletionCode;
>
> IPMI_GET_BOOT_OPTIONS_PARAMETER_VERSION ParameterVersion;
>
> IPMI_GET_BOOT_OPTIONS_PARAMETER_VALID ParameterValid;
>
> - UINT8 ParameterData[0];
>
> + UINT8 ParameterData[];
>
> } IPMI_GET_BOOT_OPTIONS_RESPONSE;
>
>
>
> //
>
> diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h
> b/MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h
> index 553a69a472..755bcb67e5 100644
> --- a/MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h
> +++ b/MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h
> @@ -76,7 +76,7 @@ typedef struct {
> typedef struct {
>
> UINT8 CompletionCode;
>
> UINT8 CountReturned;
>
> - UINT8 Data[0];
>
> + UINT8 Data[];
>
> } IPMI_READ_FRU_DATA_RESPONSE;
>
>
>
> //
>
> @@ -95,7 +95,7 @@ typedef struct {
> typedef struct {
>
> UINT8 DeviceId;
>
> UINT16 InventoryOffset;
>
> - UINT8 Data[0];
>
> + UINT8 Data[];
>
> } IPMI_WRITE_FRU_DATA_REQUEST;
>
>
>
> typedef struct {
>
> @@ -594,7 +594,7 @@ typedef struct {
> UINT16 RecordId;
>
> UINT8 OffsetIntoRecord;
>
> UINT8 InProgress;
>
> - UINT8 RecordData[0];
>
> + UINT8 RecordData[];
>
> } IPMI_PARTIAL_ADD_SEL_ENTRY_REQUEST;
>
>
>
> typedef struct {
>
> diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h
> b/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h
> index 2024c35f7f..273a162552 100644
> --- a/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h
> +++ b/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h
> @@ -313,7 +313,7 @@ typedef union {
> typedef struct {
>
> IPMI_SET_LAN_CONFIG_CHANNEL_NUM ChannelNumber;
>
> UINT8 ParameterSelector;
>
> - UINT8 ParameterData[0];
>
> + UINT8 ParameterData[];
>
> } IPMI_SET_LAN_CONFIGURATION_PARAMETERS_COMMAND_REQUEST;
>
>
>
> //
>
> @@ -343,7 +343,7 @@ typedef struct {
> typedef struct {
>
> UINT8 CompletionCode;
>
> UINT8 ParameterRevision;
>
> - UINT8 ParameterData[0];
>
> + UINT8 ParameterData[];
>
> } IPMI_GET_LAN_CONFIGURATION_PARAMETERS_RESPONSE;
>
>
>
> //
>
> @@ -879,7 +879,7 @@ typedef union {
> typedef struct {
>
> IPMI_SET_SOL_CONFIG_PARAM_CHANNEL_NUM ChannelNumber;
>
> UINT8 ParameterSelector;
>
> - UINT8 ParameterData[0];
>
> + UINT8 ParameterData[];
>
> } IPMI_SET_SOL_CONFIGURATION_PARAMETERS_REQUEST;
>
>
>
> //
>
> @@ -909,7 +909,7 @@ typedef struct {
> typedef struct {
>
> UINT8 CompletionCode;
>
> UINT8 ParameterRevision;
>
> - UINT8 ParameterData[0];
>
> + UINT8 ParameterData[];
>
> } IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE;
>
>
>
> #pragma pack()
>
> diff --git a/MdePkg/Include/IndustryStandard/PldmSmbiosTransfer.h
> b/MdePkg/Include/IndustryStandard/PldmSmbiosTransfer.h
> index 9b7a5e838e..3e72812ea7 100644
> --- a/MdePkg/Include/IndustryStandard/PldmSmbiosTransfer.h
> +++ b/MdePkg/Include/IndustryStandard/PldmSmbiosTransfer.h
> @@ -92,7 +92,7 @@ typedef struct {
> typedef struct {
>
> UINT32 NextDataTransferHandle;
>
> UINT8 TransferFlag;
>
> - UINT8 Table[0];
>
> + UINT8 Table[];
>
> } PLDM_GET_SMBIOS_STRUCTURE_TABLE_RESPONSE;
>
>
>
> typedef struct {
>
> @@ -106,7 +106,7 @@ typedef struct {
> typedef struct {
>
> UINT32 DataTransferHandle;
>
> UINT8 TransferFlag;
>
> - UINT8 Table[0];
>
> + UINT8 Table[];
>
> } PLDM_SET_SMBIOS_STRUCTURE_TABLE_REQUEST;
>
>
>
> typedef struct {
>
> @@ -143,7 +143,7 @@ typedef struct {
> typedef struct {
>
> UINT32 NextDataTransferHandle;
>
> UINT8 TransferFlag;
>
> - UINT8 Table[0];
>
> + UINT8 Table[];
>
> } PLDM_GET_SMBIOS_STRUCTURE_BY_TYPE_RESPONSE;
>
>
>
> typedef struct {
>
> @@ -171,7 +171,7 @@ typedef struct {
> typedef struct {
>
> UINT32 NextDataTransferHandle;
>
> UINT8 TransferFlag;
>
> - UINT8 Table[0];
>
> + UINT8 Table[];
>
> } PLDM_GET_SMBIOS_STRUCTURE_BY_HANDLE_RESPONSE;
>
>
>
> typedef struct {
>
> diff --git a/MdePkg/Include/IndustryStandard/TcgStorageCore.h
> b/MdePkg/Include/IndustryStandard/TcgStorageCore.h
> index 1fae7b6e84..7502e3d46c 100644
> --- a/MdePkg/Include/IndustryStandard/TcgStorageCore.h
> +++ b/MdePkg/Include/IndustryStandard/TcgStorageCore.h
> @@ -38,7 +38,7 @@ typedef struct {
> UINT32 OutstandingDataBE;
>
> UINT32 MinTransferBE;
>
> UINT32 LengthBE;
>
> - UINT8 Payload[0];
>
> + UINT8 Payload[];
>
> } TCG_COM_PACKET;
>
>
>
> typedef struct {
>
> @@ -49,7 +49,7 @@ typedef struct {
> UINT16 AckTypeBE;
>
> UINT32 AcknowledgementBE;
>
> UINT32 LengthBE;
>
> - UINT8 Payload[0];
>
> + UINT8 Payload[];
>
> } TCG_PACKET;
>
>
>
> #define TCG_SUBPACKET_ALIGNMENT 4// 4-byte alignment per spec
>
> @@ -58,7 +58,7 @@ typedef struct {
> UINT8 ReservedBE[6];
>
> UINT16 KindBE;
>
> UINT32 LengthBE;
>
> - UINT8 Payload[0];
>
> + UINT8 Payload[];
>
> } TCG_SUB_PACKET;
>
>
>
> #define SUBPACKET_KIND_DATA 0x0000
>
> diff --git a/MdePkg/Include/Protocol/NetworkInterfaceIdentifier.h
> b/MdePkg/Include/Protocol/NetworkInterfaceIdentifier.h
> index 78acb4ddae..85d904ca9c 100644
> --- a/MdePkg/Include/Protocol/NetworkInterfaceIdentifier.h
> +++ b/MdePkg/Include/Protocol/NetworkInterfaceIdentifier.h
> @@ -101,7 +101,7 @@ struct undiconfig_table {
> struct {
>
> VOID *NII_InterfacePointer; ///< Pointer to the NII interface structure.
>
> VOID *DevicePathPointer; ///< Pointer to the device path for this NIC.
>
> - } NII_entry[1];
>
> + } NII_entry[];
>
> };
>
>
>
> extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid;
>
> diff --git a/MdePkg/Include/Protocol/NvdimmLabel.h
> b/MdePkg/Include/Protocol/NvdimmLabel.h
> index e46999a3ab..91a9b675f9 100644
> --- a/MdePkg/Include/Protocol/NvdimmLabel.h
> +++ b/MdePkg/Include/Protocol/NvdimmLabel.h
> @@ -244,7 +244,7 @@ typedef struct {
> ///
>
> /// Array size is 1 if EFI_NVDIMM_LABEL_FLAGS_LOCAL is set indicating a Local
> Namespaces.
>
> ///
>
> - EFI_NVDIMM_LABEL_SET_COOKIE_MAP Mapping[0];
>
> + EFI_NVDIMM_LABEL_SET_COOKIE_MAP Mapping[];
>
> } EFI_NVDIMM_LABEL_SET_COOKIE_INFO;
>
>
>
> /**
>
> diff --git a/UefiPayloadPkg/Include/Coreboot.h
> b/UefiPayloadPkg/Include/Coreboot.h
> index 2d454f7c89..a53ede390c 100644
> --- a/UefiPayloadPkg/Include/Coreboot.h
> +++ b/UefiPayloadPkg/Include/Coreboot.h
> @@ -59,7 +59,7 @@ struct cbmem_root {
> UINT32 num_entries;
>
> UINT32 locked;
>
> UINT32 size;
>
> - struct cbmem_entry entries[0];
>
> + struct cbmem_entry entries[];
>
> };
>
>
>
> struct imd_entry {
>
> @@ -75,7 +75,7 @@ struct imd_root {
> UINT32 flags;
>
> UINT32 entry_align;
>
> UINT32 max_offset;
>
> - struct imd_entry entries[0];
>
> + struct imd_entry entries[];
>
> };
>
>
>
> struct cbuint64 {
>
> @@ -119,7 +119,7 @@ struct cb_memory_range {
> struct cb_memory {
>
> UINT32 tag;
>
> UINT32 size;
>
> - struct cb_memory_range map[0];
>
> + struct cb_memory_range map[];
>
> };
>
>
>
> #define CB_TAG_MAINBOARD 0x0003
>
> @@ -129,7 +129,7 @@ struct cb_mainboard {
> UINT32 size;
>
> UINT8 vendor_idx;
>
> UINT8 part_number_idx;
>
> - UINT8 strings[0];
>
> + UINT8 strings[];
>
> };
>
>
>
> #define CB_TAG_VERSION 0x0004
>
> @@ -146,7 +146,7 @@ struct cb_mainboard {
> struct cb_string {
>
> UINT32 tag;
>
> UINT32 size;
>
> - UINT8 string[0];
>
> + UINT8 string[];
>
> };
>
>
>
> #define CB_TAG_SERIAL 0x000f
>
> --
> 2.40.1
>
>
>
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#107898): https://edk2.groups.io/g/devel/message/107898
> Mute This Topic: https://groups.io/mt/100861513/1772286
> Group Owner: devel+owner@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub [jiewen.yao@intel.com]
> -=-=-=-=-=-=
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#107919): https://edk2.groups.io/g/devel/message/107919
Mute This Topic: https://groups.io/mt/100861513/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2026 Red Hat, Inc.