[alsa-devel] [PATCH 2/5] ALSA: usb-audio: purge needless variable length array

Takashi Iwai tiwai at suse.de
Mon Feb 20 22:04:44 CET 2017


On Mon, 20 Feb 2017 21:51:54 +0100,
Takashi Iwai wrote:
> 
> On Mon, 20 Feb 2017 21:09:18 +0100,
> Takashi Sakamoto wrote:
> > 
> > Variable length array is used in 'snd_us16x08_meter_get()', while there
> > is logically no need. It's better to purge it because variable length array
> > has overhead for stack handling.
> > 
> > This commit replaces the array with static length. Sparse generated below
> > warning.
> > 
> > sound/usb/mixer_us16x08.c:714:18: warning: Variable length array is used.
> > 
> > Fixes: d2bb390a2081 ("ALSA: usb-audio: Tascam US-16x08 DSP mixer quirk")
> > Signed-off-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>
> 
> Applied, thanks.

Eh, no, this patch is buggy.  Scratched.

> @@ -740,7 +740,8 @@ static int snd_us16x08_meter_get(struct snd_kcontrol *kcontrol,
>  	case 3:
>  		memcpy(tmp, mix_init_msg2, sizeof(mix_init_msg2));
>  		tmp[2] = snd_get_meter_comp_index(store);
> -		snd_us16x08_send_urb(chip, tmp, 10);
> +		snd_us16x08_send_urb(chip, (char *)mix_init_msg2,
> +				     sizeof(mix_init_msg2));

Here you overlooked that tmp[2] is dynamically changed.


Takashi


More information about the Alsa-devel mailing list