[PATCH v4] wifi: cfg80211: Use kmemdup_array instead of kmemdup for multiple allocation
From: Yu Jiaoliang
Date: Thu Aug 22 2024 - 03:48:24 EST
Let the kememdup_array() take care about multiplication and possible
overflows.
Signed-off-by: Yu Jiaoliang <yujiaoliang@xxxxxxxx>
Reviewed-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
---
v2:
- Change sizeof(limits[0]) to sizeof(*limits)
- Fix title prefix
v3:
- Fix R-b tag
- Leave --- above this information
v4:
- Move the Signed-off-by and Reviewed-by information above
---
net/wireless/util.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/wireless/util.c b/net/wireless/util.c
index 9a7c3adc8a3b..e7c1ac2a0f2d 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -2435,8 +2435,8 @@ int cfg80211_iter_combinations(struct wiphy *wiphy,
if (params->num_different_channels > c->num_different_channels)
continue;
- limits = kmemdup(c->limits, sizeof(limits[0]) * c->n_limits,
- GFP_KERNEL);
+ limits = kmemdup_array(c->limits, c->n_limits, sizeof(*limits),
+ GFP_KERNEL);
if (!limits)
return -ENOMEM;
--
2.34.1