]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
wifi: cfg80211: Use kmemdup_array instead of kmemdup for multiple allocation
authorYu Jiaoliang <yujiaoliang@vivo.com>
Thu, 22 Aug 2024 07:47:43 +0000 (15:47 +0800)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 27 Aug 2024 08:28:56 +0000 (10:28 +0200)
Let the kememdup_array() take care about multiplication and possible
overflows.

Signed-off-by: Yu Jiaoliang <yujiaoliang@vivo.com>
Reviewed-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://patch.msgid.link/20240822074743.1366561-1-yujiaoliang@vivo.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/util.c

index edeeb056fe4da19b3c5aac111ed13898ed1e938f..f49b55724f8341440a1495ebe05e751a8993bc1c 100644 (file)
@@ -2437,8 +2437,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;