pinctrl: samsung: Use kmemdup_array instead of kmemdup for multiple allocation

Let the kmemdup_array() take care about multiplication
and possible overflows.

Using kmemdup_array() is more appropriate and makes the code
easier to audit.

Signed-off-by: Shen Lichuan <shenlichuan@vivo.com>
Link: https://lore.kernel.org/r/20240823114441.50648-1-shenlichuan@vivo.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
This commit is contained in:
Shen Lichuan 2024-08-23 19:44:41 +08:00 committed by Krzysztof Kozlowski
parent e61f1a729d
commit 39dbbd4e67

View File

@ -122,8 +122,8 @@ static int add_map_configs(struct device *dev, struct pinctrl_map **map,
if (WARN_ON(*num_maps == *reserved_maps))
return -ENOSPC;
dup_configs = kmemdup(configs, num_configs * sizeof(*dup_configs),
GFP_KERNEL);
dup_configs = kmemdup_array(configs, num_configs, sizeof(*dup_configs),
GFP_KERNEL);
if (!dup_configs)
return -ENOMEM;