2022-02-24 22:00:00

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH v2 3/6][next] ath6kl: wmi: Replace one-element array with flexible-array member in struct wmi_channel_list_reply

Replace one-element array with flexible-array member in struct
wmi_channel_list_reply.

This issue was found with the help of Coccinelle and audited and fixed,
manually.

Link: https://www.kernel.org/doc/html/v5.16/process/deprecated.html#zero-length-and-one-element-arrays
Link: https://github.com/KSPP/linux/issues/79
Reviewed-by: Jeff Johnson <[email protected]>
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
Changes in v2:
- Revert changes in if-statement logic:
if (len < sizeof(struct wmi_channel_list_reply))
Link: https://lore.kernel.org/linux-hardening/[email protected]/
- Update changelog text.
- Add Reviewed-by: Jeff Johnson <[email protected]> tag.

drivers/net/wireless/ath/ath6kl/wmi.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath6kl/wmi.h b/drivers/net/wireless/ath/ath6kl/wmi.h
index 9e168752bec2..432e4f428a4a 100644
--- a/drivers/net/wireless/ath/ath6kl/wmi.h
+++ b/drivers/net/wireless/ath/ath6kl/wmi.h
@@ -1373,7 +1373,7 @@ struct wmi_channel_list_reply {
u8 num_ch;

/* channel in Mhz */
- __le16 ch_list[1];
+ __le16 ch_list[];
} __packed;

/* List of Events (target to host) */
--
2.27.0