[alsa-devel] [PATCH] ALSA: Warn when control names are truncated

Mark Brown broonie at opensource.wolfsonmicro.com
Wed Oct 29 15:14:54 CET 2008


This is likely to confuse user interfaces since the end of the control
name is interpreted (eg, "Volume", "Switch").

Signed-off-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
---
 sound/core/control.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/sound/core/control.c b/sound/core/control.c
index 6d71f9a..1257ca8 100644
--- a/sound/core/control.c
+++ b/sound/core/control.c
@@ -225,8 +225,12 @@ struct snd_kcontrol *snd_ctl_new1(const struct snd_kcontrol_new *ncontrol,
 	kctl.id.iface = ncontrol->iface;
 	kctl.id.device = ncontrol->device;
 	kctl.id.subdevice = ncontrol->subdevice;
-	if (ncontrol->name)
+	if (ncontrol->name) {
+		if (strlen(ncontrol->name) > sizeof(kctl.id.name))
+			snd_printk(KERN_WARNING "Control name '%s' truncated\n",
+				   ncontrol->name);
 		strlcpy(kctl.id.name, ncontrol->name, sizeof(kctl.id.name));
+	}
 	kctl.id.index = ncontrol->index;
 	kctl.count = ncontrol->count ? ncontrol->count : 1;
 	access = ncontrol->access == 0 ? SNDRV_CTL_ELEM_ACCESS_READWRITE :
-- 
1.5.6.5



More information about the Alsa-devel mailing list