[PATCH] wil6210: avoid gcc-10 zero-length-bounds warning

From: Arnd Bergmann
Date: Tue May 05 2020 - 10:34:13 EST


gcc-10 warns about accesses inside of a zero-length array:

drivers/net/wireless/ath/wil6210/cfg80211.c: In function 'wil_cfg80211_scan':
drivers/net/wireless/ath/wil6210/cfg80211.c:970:23: error: array subscript 255 is outside the bounds of an interior zero-length array 'struct <anonymous>[0]' [-Werror=zero-length-bounds]
970 | cmd.cmd.channel_list[cmd.cmd.num_channels++].channel = ch - 1;
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/net/wireless/ath/wil6210/wil6210.h:17,
from drivers/net/wireless/ath/wil6210/cfg80211.c:11:
drivers/net/wireless/ath/wil6210/wmi.h:477:4: note: while referencing 'channel_list'
477 | } channel_list[0];
| ^~~~~~~~~~~~

Turn this into a flexible array to avoid the warning.

Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
---
Gustavo has a patch to do it for all arrays in this file, and that
should get merged as well, but this simpler patch is sufficient
to shut up the warning.
---
drivers/net/wireless/ath/wil6210/wmi.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/wil6210/wmi.h b/drivers/net/wireless/ath/wil6210/wmi.h
index e3558136e0c4..5bba45c1de48 100644
--- a/drivers/net/wireless/ath/wil6210/wmi.h
+++ b/drivers/net/wireless/ath/wil6210/wmi.h
@@ -474,7 +474,7 @@ struct wmi_start_scan_cmd {
struct {
u8 channel;
u8 reserved;
- } channel_list[0];
+ } channel_list[];
} __packed;

#define WMI_MAX_PNO_SSID_NUM (16)
--
2.26.0