[PATCH] ALSA: hda/ca0132: use snprintf() for kernel hardenning

Dan Carpenter posted 1 patch 4 months ago
sound/pci/hda/patch_ca0132.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] ALSA: hda/ca0132: use snprintf() for kernel hardenning
Posted by Dan Carpenter 4 months ago
In this sprintf():

	sprintf(namestr, "%s %s Volume", name, dirstr[dir]);

Then "namestr" and "name" buffer are both SNDRV_CTL_ELEM_ID_NAME_MAXLEN
(44) characters long.  We never actually use that full amount in real
life so everything works fine, but static checkers complain that if name
is 44 characters then when you combine that with the other strings it
will lead to a buffer overflow.  Using snprintf() silences the warning
and makes the code a little bit safer for the future.

Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 sound/pci/hda/patch_ca0132.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index cfe422a79703..5815552cbf89 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -4409,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));
 }
 
-- 
2.47.2
Re: [PATCH] ALSA: hda/ca0132: use snprintf() for kernel hardenning
Posted by Takashi Iwai 4 months ago
On Wed, 11 Jun 2025 15:08:33 +0200,
Dan Carpenter wrote:
> 
> In this sprintf():
> 
> 	sprintf(namestr, "%s %s Volume", name, dirstr[dir]);
> 
> Then "namestr" and "name" buffer are both SNDRV_CTL_ELEM_ID_NAME_MAXLEN
> (44) characters long.  We never actually use that full amount in real
> life so everything works fine, but static checkers complain that if name
> is 44 characters then when you combine that with the other strings it
> will lead to a buffer overflow.  Using snprintf() silences the warning
> and makes the code a little bit safer for the future.
> 
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>

Thanks for the patch, but the very same fix was already submitted from
Lucy and merged in commit a409c60111e6.


Takashi