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. Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>alistair/sunxi64-5.4-dsi
parent
df75786b92
commit
83d9562b64
|
@ -1295,8 +1295,7 @@ static int ath6kl_wmi_neighbor_report_event_rx(struct wmi *wmi, u8 *datap,
|
||||||
if (len < sizeof(*ev))
|
if (len < sizeof(*ev))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
ev = (struct wmi_neighbor_report_event *) datap;
|
ev = (struct wmi_neighbor_report_event *) datap;
|
||||||
if (sizeof(*ev) + ev->num_neighbors * sizeof(struct wmi_neighbor_info)
|
if (struct_size(ev, neighbor, ev->num_neighbors) > len) {
|
||||||
> len) {
|
|
||||||
ath6kl_dbg(ATH6KL_DBG_WMI,
|
ath6kl_dbg(ATH6KL_DBG_WMI,
|
||||||
"truncated neighbor event (num=%d len=%d)\n",
|
"truncated neighbor event (num=%d len=%d)\n",
|
||||||
ev->num_neighbors, len);
|
ev->num_neighbors, len);
|
||||||
|
|
Loading…
Reference in New Issue