ath6kl: wmi: use struct_size() helper
Subsystems (3)
PATCH 1/1 ath6kl: wmi: use struct_size() helper
Make use of the struct_size() helper instead of an open-coded version in order to avoid any potential type mistakes, in particular in the context in which this code is being used.
So, replace code of the following form:
sizeof(*ev) + ev->num_neighbors * sizeof(struct wmi_neighbor_info)
with:
struct_size(ev, neighbor, ev->num_neighbors)
This code was detected with the help of Coccinelle.
--- drivers/net/wireless/ath/ath6kl/wmi.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/net/wireless/ath/ath6kl/wmi.c +1 -2
@@ -1295,8 +1295,7 @@ static int ath6kl_wmi_neighbor_report_event_rx(struct wmi *wmi, u8 *datap,if (len <sizeof (*ev))return -EINVAL ; ev = (struct wmi_neighbor_report_event *) datap; -if (sizeof (*ev) + ev->num_neighbors *sizeof (struct wmi_neighbor_info ) - > len) { +if (struct_size (ev, neighbor, ev->num_neighbors) > len) {ath6kl_dbg (ATH6KL_DBG_WMI ,"truncated neighbor event (num=%d len=%d)\n" , ev->num_neighbors, len);
Signature · 1 line
2.21.0
Quoted 8 lines · Gustavo A. R. Silva
Make use of the
struct_size()helper instead of an open-coded version in order to avoid any potential type mistakes, in particular in the context in which this code is being used.So, replace code of the following form:
sizeof(*ev)+ev->num_neighbors*sizeof(struct wmi_neighbor_info)
Quoted 8 lines
with:
struct_size(ev, neighbor, ev->num_neighbors)This code was detected with the help of Coccinelle.
Signed-off-by Gustavo A. R. Silva <[email protected]>Signed-off-by Kalle Valo <[email protected]>
Patch applied to ath-next branch of ath.git, thanks.
83d9562b6478 ath6kl: wmi: use struct_size() helper
Signature · 3 lines
https://patchwork.kernel.org/patch/10884343/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches