ALSA: Use strlcpy() instead of strncpy()
We tend to make stupid mistakes with strncpy(). Let's take a safer one, strlcpy(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
97f44f56ca
commit
57a4451d26
@ -185,7 +185,7 @@ static int pxa2xx_ac97_probe(struct platform_device *dev)
|
||||
goto err;
|
||||
|
||||
card->dev = &dev->dev;
|
||||
strncpy(card->driver, dev->dev.driver->name, sizeof(card->driver));
|
||||
strlcpy(card->driver, dev->dev.driver->name, sizeof(card->driver));
|
||||
|
||||
ret = pxa2xx_pcm_new(card, &pxa2xx_ac97_pcm_client, &pxa2xx_ac97_pcm);
|
||||
if (ret)
|
||||
|
@ -583,7 +583,7 @@ static int ak4xxx_capture_source_info(struct snd_kcontrol *kcontrol,
|
||||
if (idx >= num_names)
|
||||
return -EINVAL;
|
||||
input_names = ak->adc_info[mixer_ch].input_names;
|
||||
strncpy(uinfo->value.enumerated.name, input_names[idx],
|
||||
strlcpy(uinfo->value.enumerated.name, input_names[idx],
|
||||
sizeof(uinfo->value.enumerated.name));
|
||||
return 0;
|
||||
}
|
||||
|
@ -161,13 +161,13 @@ int olpc_quirks(struct snd_card *card, struct snd_ac97 *ac97)
|
||||
/* drop the original AD1888 HPF control */
|
||||
memset(&elem, 0, sizeof(elem));
|
||||
elem.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
|
||||
strncpy(elem.name, "High Pass Filter Enable", sizeof(elem.name));
|
||||
strlcpy(elem.name, "High Pass Filter Enable", sizeof(elem.name));
|
||||
snd_ctl_remove_id(card, &elem);
|
||||
|
||||
/* drop the original V_REFOUT control */
|
||||
memset(&elem, 0, sizeof(elem));
|
||||
elem.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
|
||||
strncpy(elem.name, "V_REFOUT Enable", sizeof(elem.name));
|
||||
strlcpy(elem.name, "V_REFOUT Enable", sizeof(elem.name));
|
||||
snd_ctl_remove_id(card, &elem);
|
||||
|
||||
/* add the OLPC-specific controls */
|
||||
|
@ -203,12 +203,12 @@ static void psc724_set_jack_state(struct snd_ice1712 *ice, bool hp_connected)
|
||||
/* notify about master speaker mute change */
|
||||
memset(&elem_id, 0, sizeof(elem_id));
|
||||
elem_id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
|
||||
strncpy(elem_id.name, "Master Speakers Playback Switch",
|
||||
strlcpy(elem_id.name, "Master Speakers Playback Switch",
|
||||
sizeof(elem_id.name));
|
||||
kctl = snd_ctl_find_id(ice->card, &elem_id);
|
||||
snd_ctl_notify(ice->card, SNDRV_CTL_EVENT_MASK_VALUE, &kctl->id);
|
||||
/* and headphone mute change */
|
||||
strncpy(elem_id.name, spec->wm8776.ctl[WM8776_CTL_HP_SW].name,
|
||||
strlcpy(elem_id.name, spec->wm8776.ctl[WM8776_CTL_HP_SW].name,
|
||||
sizeof(elem_id.name));
|
||||
kctl = snd_ctl_find_id(ice->card, &elem_id);
|
||||
snd_ctl_notify(ice->card, SNDRV_CTL_EVENT_MASK_VALUE, &kctl->id);
|
||||
|
@ -52,7 +52,7 @@ static void snd_wm8776_activate_ctl(struct snd_wm8776 *wm,
|
||||
unsigned int index_offset;
|
||||
|
||||
memset(&elem_id, 0, sizeof(elem_id));
|
||||
strncpy(elem_id.name, ctl_name, sizeof(elem_id.name));
|
||||
strlcpy(elem_id.name, ctl_name, sizeof(elem_id.name));
|
||||
elem_id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
|
||||
kctl = snd_ctl_find_id(card, &elem_id);
|
||||
if (!kctl)
|
||||
|
@ -6400,7 +6400,7 @@ static int snd_hdspm_hwdep_ioctl(struct snd_hwdep *hw, struct file *file,
|
||||
memset(&hdspm_version, 0, sizeof(hdspm_version));
|
||||
|
||||
hdspm_version.card_type = hdspm->io_type;
|
||||
strncpy(hdspm_version.cardname, hdspm->card_name,
|
||||
strlcpy(hdspm_version.cardname, hdspm->card_name,
|
||||
sizeof(hdspm_version.cardname));
|
||||
hdspm_version.serial = hdspm->serial;
|
||||
hdspm_version.firmware_rev = hdspm->firmware_rev;
|
||||
|
Loading…
Reference in New Issue
Block a user