drm/ttm: Use scnprintf() for avoiding potential buffer overflow

Since snprintf() returns the would-be-output size instead of the
actual output size, the succeeding calls may go beyond the given
buffer limit.  Fix it by replacing with scnprintf().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/357174/
Signed-off-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
Takashi Iwai 2020-03-11 08:34:52 +01:00 committed by Christian König
parent 6bfad4abac
commit 41252c6d1c
1 changed files with 1 additions and 1 deletions

View File

@ -604,7 +604,7 @@ static struct dma_pool *ttm_dma_pool_init(struct device *dev, gfp_t flags,
p = pool->name; p = pool->name;
for (i = 0; i < ARRAY_SIZE(t); i++) { for (i = 0; i < ARRAY_SIZE(t); i++) {
if (type & t[i]) { if (type & t[i]) {
p += snprintf(p, sizeof(pool->name) - (p - pool->name), p += scnprintf(p, sizeof(pool->name) - (p - pool->name),
"%s", n[i]); "%s", n[i]);
} }
} }