diff mbox series

[1/3] ASoC: Intel: avs: Fix potential buffer overflow by snprintf()

Message ID 20220801165420.25978-2-tiwai@suse.de (mailing list archive)
State Accepted
Commit ca3b7b9dc9bc1fa552f4697b7cccfa0258a44d00
Headers show
Series ASoC: Fix theoretical buffer overflow by snprintf() | expand

Commit Message

Takashi Iwai Aug. 1, 2022, 4:54 p.m. UTC
snprintf() returns the would-be-filled size when the string overflows
the given buffer size, hence using this value may result in a buffer
overflow (although it's unrealistic).

This patch replaces it with a safer version, scnprintf() for papering
over such a potential issue.

Fixes: f1b3b320bd65 ("ASoC: Intel: avs: Generic soc component driver")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/soc/intel/avs/pcm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Cezary Rojewski Aug. 2, 2022, 10:22 a.m. UTC | #1
On 2022-08-01 6:54 PM, Takashi Iwai wrote:
> snprintf() returns the would-be-filled size when the string overflows
> the given buffer size, hence using this value may result in a buffer
> overflow (although it's unrealistic).
> 
> This patch replaces it with a safer version, scnprintf() for papering
> over such a potential issue.
> 
> Fixes: f1b3b320bd65 ("ASoC: Intel: avs: Generic soc component driver")
> Signed-off-by: Takashi Iwai <tiwai@suse.de>

Acked-by: Cezary Rojewski <cezary.rojewski@intel.com>
diff mbox series

Patch

diff --git a/sound/soc/intel/avs/pcm.c b/sound/soc/intel/avs/pcm.c
index f21b0cdd3206..8fe5917b1e26 100644
--- a/sound/soc/intel/avs/pcm.c
+++ b/sound/soc/intel/avs/pcm.c
@@ -636,8 +636,8 @@  static ssize_t topology_name_read(struct file *file, char __user *user_buf, size
 	char buf[64];
 	size_t len;
 
-	len = snprintf(buf, sizeof(buf), "%s/%s\n", component->driver->topology_name_prefix,
-		       mach->tplg_filename);
+	len = scnprintf(buf, sizeof(buf), "%s/%s\n", component->driver->topology_name_prefix,
+			mach->tplg_filename);
 
 	return simple_read_from_buffer(user_buf, count, ppos, buf, len);
 }