[PATCH] staging: wlan-ng: Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper

From: Deepak R Varma
Date: Thu Nov 17 2022 - 05:19:18 EST


The code currently uses C90 standard extension based zero length arrays.
The zero length array member also happens to be the only member of the
structs. Such zero length array declarations are deprecated and the
new C99 standard extension of flexible array declarations are to be
used instead.

The DECLARE_FLEX_ARRAY() helper allows for a flexible array member as
the only member in a structure. Refer to these links [1], [2] for
details.

[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
[2] https://lkml.kernel.org/r/YxKY6O2hmdwNh8r8@work

Issue identified using Coccinelle.

Signed-off-by: Deepak R Varma <drv@xxxxxxxxx>
---

Notes:
1. Proposed change is compile tested only.
2. Solution feedback from gustavoars@xxxxxxxxxx


drivers/staging/wlan-ng/hfa384x.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x.h b/drivers/staging/wlan-ng/hfa384x.h
index 0611e37df6ac..3a1edcb43e07 100644
--- a/drivers/staging/wlan-ng/hfa384x.h
+++ b/drivers/staging/wlan-ng/hfa384x.h
@@ -960,15 +960,15 @@ struct hfa384x_pdr_nicid {
} __packed;

struct hfa384x_pdr_refdac_measurements {
- u16 value[0];
+ DECLARE_FLEX_ARRAY(u16, value);
} __packed;

struct hfa384x_pdr_vgdac_measurements {
- u16 value[0];
+ DECLARE_FLEX_ARRAY(u16, value);
} __packed;

struct hfa384x_pdr_level_comp_measurements {
- u16 value[0];
+ DECLARE_FLEX_ARRAY(u16, value);
} __packed;

struct hfa384x_pdr_mac_address {
--
2.34.1