Re: [PATCH 2/2] asoc: soc-core: fix coccinelle warnings

Nenghua Cao
2014-02-24T03:07:16Z

On 02/22/2014 10:52 AM, Mark Brown wrote:
> On Fri, Feb 21, 2014 at 04:06:10PM +0800, Nenghua Cao wrote:
>
>> --- a/sound/soc/soc-core.c
>> +++ b/sound/soc/soc-core.c
>> @@ -2413,7 +2413,7 @@ struct snd_kcontrol *snd_soc_cnew(const struct snd_kcontrol_new *_template,
>> struct snd_kcontrol *kcontrol;
>> char *name = NULL;
>>
>> - memcpy(&template, _template, sizeof(template));
>> + memcpy(&template, _template, sizeof(struct snd_kcontrol_new));
>> template.index = 0;
>>
>> if (!long_name)
>
> This looks like a regression - it's better form to use the object name
> rather than the type of the object since this prevents errors if the
> type changes. What coccinelle was suggesting here was to replace with a
> simple assingment statement rather than change the argument within the
> memcpy(), I think this stops the warning showing because of that issue
> since it makes it harder for coccinelle to figure out that this is a
> memcpy() of the whole object.
>
Hi, Mark

I am not familiar with coccinelle. But it isn't reasonable and
convenient to use simple assignment instead of memcpy() here. So let's
retain it. I will submit another patch to fix "Assignment of bool to
0/1" issue. How do you think about it?