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

Takashi Sakamoto o-takashi at sakamocchi.jp
Tue Feb 21 03:23:12 CET 2017


On 2017年02月21日 06:04, Takashi Iwai wrote:
> 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.

Oops. I've realized it during my reviewing, but forget to care when 
coding, sorry...

Please abandon this patch. I post the alternative this night.


Thanks

Takashi Sakamoto


More information about the Alsa-devel mailing list