diff options
author | Takashi Iwai <tiwai@suse.de> | 2022-08-01 19:54:18 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-08-05 14:57:22 +0300 |
commit | ca3b7b9dc9bc1fa552f4697b7cccfa0258a44d00 (patch) | |
tree | 1cd83f7f4f103b646d90747e3b32f7d72590af17 /sound/soc/intel/avs/pcm.c | |
parent | c0fc96fed7ffa3e58f58b9cdb7158b5c61e026a2 (diff) | |
download | linux-ca3b7b9dc9bc1fa552f4697b7cccfa0258a44d00.tar.xz |
ASoC: Intel: avs: Fix potential buffer overflow by snprintf()
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>
Link: https://lore.kernel.org/r/20220801165420.25978-2-tiwai@suse.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel/avs/pcm.c')
-rw-r--r-- | sound/soc/intel/avs/pcm.c | 4 |
1 files changed, 2 insertions, 2 deletions
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); } |