ASoC: SOF: debug: 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 the buffer
overflow (although it's unrealistic).
This patch replaces with a safer version, scnprintf() for papering
over such a potential issue.
Fixes: 5b10b62989
("ASoC: SOF: Add `memory_info` file to debugfs")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20220801165420.25978-3-tiwai@suse.de
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
ca3b7b9dc9
commit
1eb123ce98
@ -252,7 +252,7 @@ static int memory_info_update(struct snd_sof_dev *sdev, char *buf, size_t buff_s
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0, len = 0; i < reply->num_elems; i++) {
|
for (i = 0, len = 0; i < reply->num_elems; i++) {
|
||||||
ret = snprintf(buf + len, buff_size - len, "zone %d.%d used %#8x free %#8x\n",
|
ret = scnprintf(buf + len, buff_size - len, "zone %d.%d used %#8x free %#8x\n",
|
||||||
reply->elems[i].zone, reply->elems[i].id,
|
reply->elems[i].zone, reply->elems[i].id,
|
||||||
reply->elems[i].used, reply->elems[i].free);
|
reply->elems[i].used, reply->elems[i].free);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user