ALSA: control: Use struct_size()
For code simplification and safety, use struct_size() macro for calculating the snd_kcontrol object size with the variable array. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
c86ccfba17
commit
65be958088
@ -211,16 +211,12 @@ EXPORT_SYMBOL(snd_ctl_notify);
|
||||
static int snd_ctl_new(struct snd_kcontrol **kctl, unsigned int count,
|
||||
unsigned int access, struct snd_ctl_file *file)
|
||||
{
|
||||
unsigned int size;
|
||||
unsigned int idx;
|
||||
|
||||
if (count == 0 || count > MAX_CONTROL_COUNT)
|
||||
return -EINVAL;
|
||||
|
||||
size = sizeof(struct snd_kcontrol);
|
||||
size += sizeof(struct snd_kcontrol_volatile) * count;
|
||||
|
||||
*kctl = kzalloc(size, GFP_KERNEL);
|
||||
*kctl = kzalloc(struct_size(*kctl, vd, count), GFP_KERNEL);
|
||||
if (!*kctl)
|
||||
return -ENOMEM;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user