]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
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 cc54539c60306fba429ab74d35c69a12f347c763..01f49555c5f61d2e18a36111a071250d0e0e31a2 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);