mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 10:01:39 -05:00
ALSA: usb: fpc: replace kmalloc_array followed by copy_from_user with memdup_array_user
Replace kmalloc_array() followed by copy_from_user() with memdup_array_user() to improve and simplify fcp_ioctl_set_meter_map(). No functional changes intended. Signed-off-by: Pedro Demarchi Gomes <pedrodemargomes@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
committed by
Takashi Iwai
parent
7ddb711b6e
commit
f4ace70faa
@@ -641,12 +641,9 @@ static int fcp_ioctl_set_meter_map(struct usb_mixer_interface *mixer,
|
||||
return -EINVAL;
|
||||
|
||||
/* Allocate and copy the map data */
|
||||
tmp_map = kmalloc_array(map.map_size, sizeof(s16), GFP_KERNEL);
|
||||
if (!tmp_map)
|
||||
return -ENOMEM;
|
||||
|
||||
if (copy_from_user(tmp_map, arg->map, map.map_size * sizeof(s16)))
|
||||
return -EFAULT;
|
||||
tmp_map = memdup_array_user(arg->map, map.map_size, sizeof(s16));
|
||||
if (IS_ERR(tmp_map))
|
||||
return PTR_ERR(tmp_map);
|
||||
|
||||
err = validate_meter_map(tmp_map, map.map_size, map.meter_slots);
|
||||
if (err < 0)
|
||||
|
||||
Reference in New Issue
Block a user