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

Mark Brown
2014-02-22T02:54:38Z

[-- Attachment #1: Type: text/plain, Size: 925 bytes --]

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.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]