wifi: brcmfmac: Use struct_size() and array_size() in code ralated to struct brcmf_gscan_config
Prefer struct_size() over open-coded versions of idiom: sizeof(struct-with-flex-array) + sizeof(typeof-flex-array-elements) * count where count is the max number of items the flexible array is supposed to contain. Also, use array_size() in call to memcpy(). Link: https://github.com/KSPP/linux/issues/160 Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/de0226a549c8d000d8974e207ede786220a3df1a.1668466470.git.gustavoars@kernel.org
This commit is contained in:
parent
61b0853d03
commit
f0e0897b4c
@ -405,7 +405,7 @@ static int brcmf_pno_config_sched_scans(struct brcmf_if *ifp)
|
||||
if (n_buckets < 0)
|
||||
return n_buckets;
|
||||
|
||||
gsz = sizeof(*gscan_cfg) + n_buckets * sizeof(*buckets);
|
||||
gsz = struct_size(gscan_cfg, bucket, n_buckets);
|
||||
gscan_cfg = kzalloc(gsz, GFP_KERNEL);
|
||||
if (!gscan_cfg) {
|
||||
err = -ENOMEM;
|
||||
@ -434,8 +434,8 @@ static int brcmf_pno_config_sched_scans(struct brcmf_if *ifp)
|
||||
gscan_cfg->flags = BRCMF_GSCAN_CFG_ALL_BUCKETS_IN_1ST_SCAN;
|
||||
|
||||
gscan_cfg->count_of_channel_buckets = n_buckets;
|
||||
memcpy(&gscan_cfg->bucket[0], buckets,
|
||||
n_buckets * sizeof(*buckets));
|
||||
memcpy(gscan_cfg->bucket, buckets,
|
||||
array_size(n_buckets, sizeof(*buckets)));
|
||||
|
||||
err = brcmf_fil_iovar_data_set(ifp, "pfn_gscan_cfg", gscan_cfg, gsz);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user