ALSA: intel_hdmi: Fix off-by-one error in __hdmi_lpe_audio_probe()

commit 8cbe564974 upstream.

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: 75b1a8f9d6 ("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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Thorsten Blum
2025-08-06 01:41:53 +02:00
committed by Greg Kroah-Hartman
parent f92af52e6d
commit 3d0129b1ff

View File

@@ -1768,7 +1768,7 @@ static int __hdmi_lpe_audio_probe(struct platform_device *pdev)
/* setup private data which can be retrieved when required */ /* setup private data which can be retrieved when required */
pcm->private_data = ctx; pcm->private_data = ctx;
pcm->info_flags = 0; 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 */ /* setup the ops for playback */
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &had_pcm_ops); snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &had_pcm_ops);