Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

wifi: cfg80211: Use kmemdup_array instead of kmemdup for multiple allocation

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>

authored by

Yu Jiaoliang and committed by
Johannes Berg
32bf7729 76364f3e

+2 -2
+2 -2
net/wireless/util.c
··· 2437 2437 if (params->num_different_channels > c->num_different_channels) 2438 2438 continue; 2439 2439 2440 - limits = kmemdup(c->limits, sizeof(limits[0]) * c->n_limits, 2441 - GFP_KERNEL); 2440 + limits = kmemdup_array(c->limits, c->n_limits, sizeof(*limits), 2441 + GFP_KERNEL); 2442 2442 if (!limits) 2443 2443 return -ENOMEM; 2444 2444