sound/pci/echoaudio/echoaudio.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
strcpy() is deprecated; use strscpy() instead.
No functional changes intended.
Link: https://github.com/KSPP/linux/issues/88
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
sound/pci/echoaudio/echoaudio.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/sound/pci/echoaudio/echoaudio.c b/sound/pci/echoaudio/echoaudio.c
index 80d8ce75fdbb..2b33ef588ac3 100644
--- a/sound/pci/echoaudio/echoaudio.c
+++ b/sound/pci/echoaudio/echoaudio.c
@@ -6,6 +6,7 @@
*/
#include <linux/module.h>
+#include <linux/string.h>
MODULE_AUTHOR("Giuliano Pochini <pochini@shiny.it>");
MODULE_LICENSE("GPL v2");
@@ -916,7 +917,7 @@ static int snd_echo_new_pcm(struct echoaudio *chip)
return err;
pcm->private_data = chip;
chip->analog_pcm = pcm;
- strcpy(pcm->name, chip->card->shortname);
+ strscpy(pcm->name, chip->card->shortname);
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &analog_playback_ops);
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &analog_capture_ops);
snd_echo_preallocate_pages(pcm, &chip->pci->dev);
@@ -929,7 +930,7 @@ static int snd_echo_new_pcm(struct echoaudio *chip)
return err;
pcm->private_data = chip;
chip->digital_pcm = pcm;
- strcpy(pcm->name, chip->card->shortname);
+ strscpy(pcm->name, chip->card->shortname);
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &digital_capture_ops);
snd_echo_preallocate_pages(pcm, &chip->pci->dev);
#endif /* ECHOCARD_HAS_DIGITAL_IO */
@@ -949,7 +950,7 @@ static int snd_echo_new_pcm(struct echoaudio *chip)
return err;
pcm->private_data = chip;
chip->analog_pcm = pcm;
- strcpy(pcm->name, chip->card->shortname);
+ strscpy(pcm->name, chip->card->shortname);
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &analog_playback_ops);
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &analog_capture_ops);
snd_echo_preallocate_pages(pcm, &chip->pci->dev);
@@ -963,7 +964,7 @@ static int snd_echo_new_pcm(struct echoaudio *chip)
return err;
pcm->private_data = chip;
chip->digital_pcm = pcm;
- strcpy(pcm->name, chip->card->shortname);
+ strscpy(pcm->name, chip->card->shortname);
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &digital_playback_ops);
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &digital_capture_ops);
snd_echo_preallocate_pages(pcm, &chip->pci->dev);
@@ -1985,8 +1986,8 @@ static int __snd_echo_probe(struct pci_dev *pci,
if (err < 0)
return err;
- strcpy(card->driver, "Echo_" ECHOCARD_NAME);
- strcpy(card->shortname, chip->card_name);
+ strscpy(card->driver, "Echo_" ECHOCARD_NAME);
+ strscpy(card->shortname, chip->card_name);
dsp = "56301";
if (pci_id->device == 0x3410)
--
2.50.0
On Wed, 09 Jul 2025 14:46:52 +0200, Thorsten Blum wrote: > > strcpy() is deprecated; use strscpy() instead. > > No functional changes intended. > > Link: https://github.com/KSPP/linux/issues/88 > Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Thanks, applied now. And now I'm going to convert all the rest of such trivial stuff (strcpy() with card->driver, shortname, mixername, longname, as well as pcm->name, and else) in sound/* for 6.17. Takashi
On 9. Jul 2025, at 16:05, Takashi Iwai wrote: > Thanks, applied now. > > And now I'm going to convert all the rest of such trivial stuff > (strcpy() with card->driver, shortname, mixername, longname, as well > as pcm->name, and else) in sound/* for 6.17. Yes, please :) I thought about submitting a patch series for all of sound/*, but didn't find the time yet. Thanks, Thorsten
On Wed, Jul 09, 2025 at 10:55:02PM +0200, Thorsten Blum wrote: > On 9. Jul 2025, at 16:05, Takashi Iwai wrote: > > Thanks, applied now. > > And now I'm going to convert all the rest of such trivial stuff > > (strcpy() with card->driver, shortname, mixername, longname, as well > > as pcm->name, and else) in sound/* for 6.17. > > Yes, please :) I thought about submitting a patch series for all of > sound/*, but didn't find the time yet. Note that strscpy() supports 3rd argument optionally, it means it's better to use 2-arg variant when the destination is supposed to be an array of characters. -- With Best Regards, Andy Shevchenko
On Thu, 10 Jul 2025 10:34:57 +0200, Andy Shevchenko wrote: > > On Wed, Jul 09, 2025 at 10:55:02PM +0200, Thorsten Blum wrote: > > On 9. Jul 2025, at 16:05, Takashi Iwai wrote: > > > Thanks, applied now. > > > > And now I'm going to convert all the rest of such trivial stuff > > > (strcpy() with card->driver, shortname, mixername, longname, as well > > > as pcm->name, and else) in sound/* for 6.17. > > > > Yes, please :) I thought about submitting a patch series for all of > > sound/*, but didn't find the time yet. > > Note that strscpy() supports 3rd argument optionally, it means it's better > to use 2-arg variant when the destination is supposed to be an array of > characters. Yes, most of Thomas' patches are using 2 arg variant, just replacing strcpy() with strscpy(). thanks, Takashi
© 2016 - 2025 Red Hat, Inc.