mirror of https://gitee.com/openkylin/linux.git
ASoC: wm_adsp: Use scnprintf() for the limited buffer output
snprintf() is a hard-to-use function, it's especially difficult to use it for concatenating substrings in a buffer with a limited size. Since snprintf() returns the would-be-output size, not the actual size, the subsequent use of snprintf() may point to the incorrect position. Use scnprintf() instead for fixing such potential errors. Signed-off-by: Takashi Iwai <tiwai@suse.de> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20200313130334.9028-1-tiwai@suse.de Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
c42464a4e6
commit
578194290d
|
@ -1432,12 +1432,12 @@ static int wm_adsp_create_control(struct wm_adsp *dsp,
|
|||
subname = NULL; /* don't append subname */
|
||||
break;
|
||||
case 2:
|
||||
ret = snprintf(name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN,
|
||||
ret = scnprintf(name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN,
|
||||
"%s%c %.12s %x", dsp->name, *region_name,
|
||||
wm_adsp_fw_text[dsp->fw], alg_region->alg);
|
||||
break;
|
||||
default:
|
||||
ret = snprintf(name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN,
|
||||
ret = scnprintf(name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN,
|
||||
"%s %.12s %x", dsp->name,
|
||||
wm_adsp_fw_text[dsp->fw], alg_region->alg);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue