]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ALSA: hda/ca0132: Fix buffer overflow in add_tuning_control
authorLucy Thrun <lucy.thrun@digital-rabbithole.de>
Tue, 10 Jun 2025 17:50:12 +0000 (19:50 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 10 Jun 2025 18:24:02 +0000 (20:24 +0200)
The 'sprintf' call in 'add_tuning_control' may exceed the 44-byte
buffer if either string argument is too long. This triggers a compiler
warning.
Replaced 'sprintf' with 'snprintf' to limit string lengths to prevent
overflow.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202506100642.95jpuMY1-lkp@intel.com/
Signed-off-by: Lucy Thrun <lucy.thrun@digital-rabbithole.de>
Link: https://patch.msgid.link/20250610175012.918-3-lucy.thrun@digital-rabbithole.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_ca0132.c

index 491d45d652dd0e7fa5d1f44cb064873925c35475..1904964591dbc9af1f4fa701945bc22d42b7d7a1 100644 (file)
@@ -4410,7 +4410,7 @@ static int add_tuning_control(struct hda_codec *codec,
        }
        knew.private_value =
                HDA_COMPOSE_AMP_VAL(nid, 1, 0, type);
-       sprintf(namestr, "%s %s Volume", name, dirstr[dir]);
+       snprintf(namestr, sizeof(namestr), "%s %s Volume", name, dirstr[dir]);
        return snd_hda_ctl_add(codec, nid, snd_ctl_new1(&knew, codec));
 }