| From 0c055b3413868227f2e85701c4e6938c9581f0e2 Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Fri, 28 Jun 2013 11:51:32 +0200 |
| Subject: ALSA: hda - Fix the max length of control name in generic parser |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit 0c055b3413868227f2e85701c4e6938c9581f0e2 upstream. |
| |
| 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. |
| |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/pci/hda/hda_generic.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/sound/pci/hda/hda_generic.c |
| +++ b/sound/pci/hda/hda_generic.c |
| @@ -840,7 +840,7 @@ static int add_control_with_pfx(struct h |
| const char *pfx, const char *dir, |
| const char *sfx, int cidx, unsigned long val) |
| { |
| - char name[32]; |
| + char name[44]; |
| snprintf(name, sizeof(name), "%s %s %s", pfx, dir, sfx); |
| if (!add_control(spec, type, name, cidx, val)) |
| return -ENOMEM; |