[alsa-devel] [PATCH] dapm_new_mixer and 32 bytes limitation

Takashi Iwai tiwai at suse.de
Mon Jan 21 11:54:19 CET 2008


At 18 Jan 2008 21:13:36 +0100,
Robert Jarzmik wrote:
> 
> diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
> index ea20138..f22a1bb 100644
> --- a/sound/soc/soc-dapm.c
> +++ b/sound/soc/soc-dapm.c
> @@ -281,7 +281,7 @@ static int dapm_new_mixer(struct snd_soc_codec *codec,
>  	struct snd_soc_dapm_widget *w)
>  {
>  	int i, ret = 0;
> -	char name[32];
> +	char name[44];

Let's add a global const in asound.h instead of using a magic number
everywhere.


>  	struct snd_soc_dapm_path *path;
>  
>  	/* add kcontrol */
> @@ -295,7 +295,8 @@ static int dapm_new_mixer(struct snd_soc_codec *codec,
>  				continue;
>  
>  			/* add dapm control with long name */
> -			snprintf(name, 32, "%s %s", w->name, w->kcontrols[i].name);
> +			snprintf(name, 43, "%s %s", w->name, w->kcontrols[i].name);
> +			name[43] = 0;

snprintf() terminates the string.  The usual call is

	snprintf(name, sizeof(name), ...);


Thanks,

Takashi


More information about the Alsa-devel mailing list