From nobody Thu May 16 06:14:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+107898+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+107898+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1692564061; cv=none; d=zohomail.com; s=zohoarc; b=hrU/UsE/yxQQ9KoztjtB6hX6qhbNAzZh99WZmjvuBMoKcTJPS2OqbGqlj/J+Yj0futA+vGzGrHj4QkoEOnP+o0nMarviIljCRn+uGDPigmzEtgY84j0+y8KuJhFllygURfDyP3EHhzz5yHheN137IrJEVpksM6d0JcfW2TZ0Uvw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1692564061; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=lJBLaXsO5GP8+BRue2d5umV2rQ1dILT6ov4zd07AxvM=; b=kMBNc0bdMcFAPl4k2KCbdhMgc5yqPSCubphDCLNpuf+erbu8/IW+Adu2zb5trnoeHDAqavIUs7fK8jF+TUudwH9EM78H1Z2yK3y15k7PSj0VFaF6VAasuVEP9grhtyl4i1nXNFcmQ7B9EspxAcyHfSettMbMBYV2TNvLu3vDyDs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+107898+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 16925640611851.2169696490153683; Sun, 20 Aug 2023 13:41:01 -0700 (PDT) Return-Path: DKIM-Signature: a=rsa-sha256; bh=BNptrd60SGV9jC25xasIvhuEQsw4bB6aX/BWgTsZPg4=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1692564060; v=1; b=at4w8tNVj9c6kkvK9VjATUJ3npkLZGXtPci3ZYOEtF7lXwL1qD3vX6WSxE4qc3+tWzrrw0cj Rq9Q+SzD43UrK+mVm1JipGXZ1jjHK4iyut73CgQE3u+sf1y78h/KMtXwv++nUZ+DUkp9igtoXdj 54sMajE8gyqgUT20Rgd3gZpg= X-Received: by 127.0.0.2 with SMTP id MK1fYY1788612xe3mtBrc7Df; Sun, 20 Aug 2023 13:41:00 -0700 X-Received: from smtp26.services.sfr.fr (smtp26.services.sfr.fr [93.17.128.209]) by mx.groups.io with SMTP id smtpd.web11.26795.1692529646816608089 for ; Sun, 20 Aug 2023 04:07:28 -0700 X-mail-filterd: {"version":"1.7.1","queueID":"4RTCW04wKbz1LQKdc","contextId": "7dd1c7e8-a77d-4d88-8a84-9fc31f0cb278"} X-Received: from localhost.localdomain (179.211.201.77.rev.sfr.net [77.201.211.179]) by msfrf2631.sfr.fr (SMTP Server) with ESMTP id 4RTCW04wKbz1LQKdc; Sun, 20 Aug 2023 13:07:24 +0200 (CEST) X-mail-filterd: {"version":"1.7.1","queueID":"4RTCW03dybz1LQKcw","contextId": "f4629091-3bfd-4914-866d-7a136f96b1b5"} X-sfr-mailing: LEGIT X-sfr-spamrating: 40 X-sfr-spam: not-spam X-Received: from localhost.localdomain (179.211.201.77.rev.sfr.net [77.201.211.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: ehaouas@noos.fr) by msfrf2631.sfr.fr (SMTP Server) with ESMTPSA id 4RTCW03dybz1LQKcw; Sun, 20 Aug 2023 13:07:24 +0200 (CEST) From: Elyes Haouas To: devel@edk2.groups.io Cc: Elyes Haouas Subject: [edk2-devel] [PATCH] Use C99 flexible arrays Date: Sun, 20 Aug 2023 13:07:04 +0200 Message-Id: <20230820110704.18359-1-ehaouas@noos.fr> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ehaouas@noos.fr List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: DrdW1W8FGWBtv1N8847Qgd1Yx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1692564061952100001 Content-Type: text/plain; charset="utf-8" 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 --- 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 { =20 struct fdt_node_header { fdt32_t tag; - char name[0]; + char name[]; }; =20 struct fdt_property { fdt32_t tag; fdt32_t len; fdt32_t nameoff; - char data[0]; + char data[]; }; =20 #endif /* !__ASSEMBLY */ diff --git a/MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c b/M= deModulePkg/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[]; }; =20 CONST EFI_PIXEL_BITMASK mRgbPixelMasks =3D { diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h b/MdePkg/Includ= e/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; =20 // @@ -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; =20 typedef struct { UINT8 CompletionCode; - UINT8 ResponseData[0]; + UINT8 ResponseData[]; } IPMI_SEND_MESSAGE_RESPONSE; =20 // @@ -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, d= epending on the 'PasswordSize' field } IPMI_SET_USER_PASSWORD_REQUEST; =20 // diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h b/MdePkg/In= clude/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 { =20 typedef struct { IPMI_SET_BOOT_OPTIONS_PARAMETER_VALID ParameterValid; - UINT8 ParameterData[0]; + UINT8 ParameterData[]; } IPMI_SET_BOOT_OPTIONS_REQUEST; =20 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; =20 // diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h b/MdePkg/In= clude/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; =20 // @@ -95,7 +95,7 @@ typedef struct { typedef struct { UINT8 DeviceId; UINT16 InventoryOffset; - UINT8 Data[0]; + UINT8 Data[]; } IPMI_WRITE_FRU_DATA_REQUEST; =20 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; =20 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; =20 // @@ -343,7 +343,7 @@ typedef struct { typedef struct { UINT8 CompletionCode; UINT8 ParameterRevision; - UINT8 ParameterData[0]; + UINT8 ParameterData[]; } IPMI_GET_LAN_CONFIGURATION_PARAMETERS_RESPONSE; =20 // @@ -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; =20 // @@ -909,7 +909,7 @@ typedef struct { typedef struct { UINT8 CompletionCode; UINT8 ParameterRevision; - UINT8 ParameterData[0]; + UINT8 ParameterData[]; } IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE; =20 #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; =20 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; =20 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; =20 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; =20 typedef struct { diff --git a/MdePkg/Include/IndustryStandard/TcgStorageCore.h b/MdePkg/Incl= ude/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; =20 typedef struct { @@ -49,7 +49,7 @@ typedef struct { UINT16 AckTypeBE; UINT32 AcknowledgementBE; UINT32 LengthBE; - UINT8 Payload[0]; + UINT8 Payload[]; } TCG_PACKET; =20 #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; =20 #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 interf= ace structure. VOID *DevicePathPointer; ///< Pointer to the device pat= h for this NIC. - } NII_entry[1]; + } NII_entry[]; }; =20 extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid; diff --git a/MdePkg/Include/Protocol/NvdimmLabel.h b/MdePkg/Include/Protoco= l/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; =20 /** diff --git a/UefiPayloadPkg/Include/Coreboot.h b/UefiPayloadPkg/Include/Cor= eboot.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[]; }; =20 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[]; }; =20 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[]; }; =20 #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[]; }; =20 #define CB_TAG_VERSION 0x0004 @@ -146,7 +146,7 @@ struct cb_mainboard { struct cb_string { UINT32 tag; UINT32 size; - UINT8 string[0]; + UINT8 string[]; }; =20 #define CB_TAG_SERIAL 0x000f --=20 2.40.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- 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] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-