[PATCH] ALSA: echoaudio: Replace deprecated strcpy() with strscpy()

Thorsten Blum posted 1 patch 2 months, 4 weeks ago
sound/pci/echoaudio/echoaudio.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
[PATCH] ALSA: echoaudio: Replace deprecated strcpy() with strscpy()
Posted by Thorsten Blum 2 months, 4 weeks ago
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
Re: [PATCH] ALSA: echoaudio: Replace deprecated strcpy() with strscpy()
Posted by Takashi Iwai 2 months, 4 weeks ago
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
Re: [PATCH] ALSA: echoaudio: Replace deprecated strcpy() with strscpy()
Posted by Thorsten Blum 2 months, 4 weeks ago
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
Re: [PATCH] ALSA: echoaudio: Replace deprecated strcpy() with strscpy()
Posted by Andy Shevchenko 2 months, 4 weeks ago
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
Re: [PATCH] ALSA: echoaudio: Replace deprecated strcpy() with strscpy()
Posted by Takashi Iwai 2 months, 4 weeks ago
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