[PATCH 2/4] ALSA: wavefront: use scnprintf_append for longname construction
From: Junrui Luo
Date: Fri Nov 07 2025 - 00:19:06 EST
Replace sprintf() calls with scnprintf() and the new scnprintf_append()
helper function when constructing card->longname. This improves code
readability and provides bounds checking.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Junrui Luo <moonafterrain@xxxxxxxxxxx>
---
sound/isa/wavefront/wavefront.c | 37 +++++++++++++++++----------------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
index 07c68568091d..eec4be5c3217 100644
--- a/sound/isa/wavefront/wavefront.c
+++ b/sound/isa/wavefront/wavefront.c
@@ -492,26 +492,27 @@ snd_wavefront_probe (struct snd_card *card, int dev)
length restrictions
*/
- sprintf(card->longname, "%s PCM 0x%lx irq %d dma %d",
- card->driver,
- chip->port,
- cs4232_pcm_irq[dev],
- dma1[dev]);
+ scnprintf(card->longname, sizeof(card->longname),
+ "%s PCM 0x%lx irq %d dma %d",
+ card->driver,
+ chip->port,
+ cs4232_pcm_irq[dev],
+ dma1[dev]);
if (dma2[dev] >= 0 && dma2[dev] < 8)
- sprintf(card->longname + strlen(card->longname), "&%d", dma2[dev]);
-
- if (cs4232_mpu_port[dev] > 0 && cs4232_mpu_port[dev] != SNDRV_AUTO_PORT) {
- sprintf (card->longname + strlen (card->longname),
- " MPU-401 0x%lx irq %d",
- cs4232_mpu_port[dev],
- cs4232_mpu_irq[dev]);
- }
-
- sprintf (card->longname + strlen (card->longname),
- " SYNTH 0x%lx irq %d",
- ics2115_port[dev],
- ics2115_irq[dev]);
+ scnprintf_append(card->longname, sizeof(card->longname),
+ "&%d", dma2[dev]);
+
+ if (cs4232_mpu_port[dev] > 0 && cs4232_mpu_port[dev] != SNDRV_AUTO_PORT)
+ scnprintf_append(card->longname, sizeof(card->longname),
+ " MPU-401 0x%lx irq %d",
+ cs4232_mpu_port[dev],
+ cs4232_mpu_irq[dev]);
+
+ scnprintf_append(card->longname, sizeof(card->longname),
+ " SYNTH 0x%lx irq %d",
+ ics2115_port[dev],
+ ics2115_irq[dev]);
return snd_card_register(card);
}
--
2.51.1.dirty