ALSA: intel_hdmi: Fix off-by-one error in __hdmi_lpe_audio_probe()
authorThorsten Blum <thorsten.blum@linux.dev>
Tue, 5 Aug 2025 23:41:53 +0000 (01:41 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 6 Aug 2025 06:02:15 +0000 (08:02 +0200)
In __hdmi_lpe_audio_probe(), strscpy() is incorrectly called with the
length of the source string (excluding the NUL terminator) rather than
the size of the destination buffer. This results in one character less
being copied from 'card->shortname' to 'pcm->name'.

Use the destination buffer size instead to ensure the card name is
copied correctly.

Cc: stable@vger.kernel.org
Fixes: 75b1a8f9d62e ("ALSA: Convert strlcpy to strscpy when return value is unused")
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Link: https://patch.msgid.link/20250805234156.60294-1-thorsten.blum@linux.dev
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/x86/intel_hdmi_audio.c

index cc54539..01f4955 100644 (file)
@@ -1765,7 +1765,7 @@ static int __hdmi_lpe_audio_probe(struct platform_device *pdev)
                /* setup private data which can be retrieved when required */
                pcm->private_data = ctx;
                pcm->info_flags = 0;
-               strscpy(pcm->name, card->shortname, strlen(card->shortname));
+               strscpy(pcm->name, card->shortname, sizeof(pcm->name));
                /* setup the ops for playback */
                snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &had_pcm_ops);