[PATCH][next] staging: rtl8723bs: Replace zero-length array with flexible-array member

From: Gustavo A. R. Silva
Date: Wed Sep 29 2021 - 15:37:15 EST


One-element and zero-length arrays are deprecated and should be
replaced with flexible-array members[1].

Replace zero-length array with flexible-array member and make use
of the struct_size() helper.

[1] https://www.kernel.org/doc/html/v5.10/process/deprecated.html#zero-length-and-one-element-arrays

Link: https://github.com/KSPP/linux/issues/78
Link: https://github.com/KSPP/linux/issues/160
Signed-off-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx>
---
drivers/staging/rtl8723bs/include/osdep_service.h | 2 +-
drivers/staging/rtl8723bs/os_dep/osdep_service.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/rtl8723bs/include/osdep_service.h b/drivers/staging/rtl8723bs/include/osdep_service.h
index bde415db4114..cf96b5f7a776 100644
--- a/drivers/staging/rtl8723bs/include/osdep_service.h
+++ b/drivers/staging/rtl8723bs/include/osdep_service.h
@@ -113,7 +113,7 @@ struct rtw_cbuf {
u32 write;
u32 read;
u32 size;
- void *bufs[0];
+ void *bufs[];
};

bool rtw_cbuf_full(struct rtw_cbuf *cbuf);
diff --git a/drivers/staging/rtl8723bs/os_dep/osdep_service.c b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
index 2d630ecef08b..d6bddf7b08e8 100644
--- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c
+++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
@@ -274,7 +274,7 @@ struct rtw_cbuf *rtw_cbuf_alloc(u32 size)
{
struct rtw_cbuf *cbuf;

- cbuf = rtw_malloc(sizeof(*cbuf) + sizeof(void *) * size);
+ cbuf = rtw_malloc(struct_size(cbuf, bufs, size));

if (cbuf) {
cbuf->write = cbuf->read = 0;
--
2.27.0