* [PATCH] ALSA: hda/ca0132: use snprintf() for kernel hardenning
@ 2025-06-11 13:08 Dan Carpenter
2025-06-11 13:27 ` Takashi Iwai
0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2025-06-11 13:08 UTC (permalink / raw)
To: Jaroslav Kysela
Cc: Takashi Iwai, Lucy Thrun, linux-sound, linux-kernel,
kernel-janitors
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] ALSA: hda/ca0132: use snprintf() for kernel hardenning
2025-06-11 13:08 [PATCH] ALSA: hda/ca0132: use snprintf() for kernel hardenning Dan Carpenter
@ 2025-06-11 13:27 ` Takashi Iwai
0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2025-06-11 13:27 UTC (permalink / raw)
To: Dan Carpenter
Cc: Jaroslav Kysela, Takashi Iwai, Lucy Thrun, linux-sound,
linux-kernel, kernel-janitors
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-06-11 13:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-11 13:08 [PATCH] ALSA: hda/ca0132: use snprintf() for kernel hardenning Dan Carpenter
2025-06-11 13:27 ` Takashi Iwai
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.