瀏覽代碼

ALSA: hda - Fix the max length of control name in generic parser

add_control_with_pfx() in hda_generic.c assumes a shorter name string
for the control element, and this resulted in the truncation of the
long but valid string like "Headphone Surround Switch" in the middle.

This patch aligns the max size to the actual limit of snd_ctl_elem_id,
44.

Cc: <stable@vger.kernel.org> [v3.9+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 12 年之前
父節點
當前提交
0c055b3413
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      sound/pci/hda/hda_generic.c

+ 1 - 1
sound/pci/hda/hda_generic.c

@@ -854,7 +854,7 @@ static int add_control_with_pfx(struct hda_gen_spec *spec, int type,
 				const char *pfx, const char *dir,
 				const char *pfx, const char *dir,
 				const char *sfx, int cidx, unsigned long val)
 				const char *sfx, int cidx, unsigned long val)
 {
 {
-	char name[32];
+	char name[44];
 	snprintf(name, sizeof(name), "%s %s %s", pfx, dir, sfx);
 	snprintf(name, sizeof(name), "%s %s %s", pfx, dir, sfx);
 	if (!add_control(spec, type, name, cidx, val))
 	if (!add_control(spec, type, name, cidx, val))
 		return -ENOMEM;
 		return -ENOMEM;