diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2023-05-06 16:53:15 +0300 |
---|---|---|
committer | Kalle Valo <kvalo@kernel.org> | 2023-05-11 16:18:23 +0300 |
commit | d9aef04fcfa81ee4fb2804a21a3712b7bbd936af (patch) | |
tree | d02ffe1d6b2f6f2afdec0df94051809b7646b1a3 | |
parent | e2ff1181b3d48257aab26bfd2165f3c7d271499f (diff) | |
download | linux-d9aef04fcfa81ee4fb2804a21a3712b7bbd936af.tar.xz |
wifi: mwifiex: Fix the size of a memory allocation in mwifiex_ret_802_11_scan()
The type of "mwifiex_adapter->nd_info" is "struct cfg80211_wowlan_nd_info",
not "struct cfg80211_wowlan_nd_match".
Use struct_size() to ease the computation of the needed size.
The current code over-allocates some memory, so is safe.
But it wastes 32 bytes.
Fixes: 7d7f07d8c5d3 ("mwifiex: add wowlan net-detect support")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/7a6074fb056d2181e058a3cc6048d8155c20aec7.1683371982.git.christophe.jaillet@wanadoo.fr
-rw-r--r-- | drivers/net/wireless/marvell/mwifiex/scan.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c b/drivers/net/wireless/marvell/mwifiex/scan.c index ac8001c84293..644b1e134b01 100644 --- a/drivers/net/wireless/marvell/mwifiex/scan.c +++ b/drivers/net/wireless/marvell/mwifiex/scan.c @@ -2187,9 +2187,9 @@ int mwifiex_ret_802_11_scan(struct mwifiex_private *priv, if (nd_config) { adapter->nd_info = - kzalloc(sizeof(struct cfg80211_wowlan_nd_match) + - sizeof(struct cfg80211_wowlan_nd_match *) * - scan_rsp->number_of_sets, GFP_ATOMIC); + kzalloc(struct_size(adapter->nd_info, matches, + scan_rsp->number_of_sets), + GFP_ATOMIC); if (adapter->nd_info) adapter->nd_info->n_matches = scan_rsp->number_of_sets; |