thermal: int340x_thermal: 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: Pandruvada, Srinivas <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200311092718.24052-1-tiwai@suse.de
This commit is contained in:
Takashi Iwai 2020-03-11 10:27:18 +01:00 committed by Daniel Lezcano
parent 671aa926a9
commit f21431f2de

View file

@ -65,7 +65,7 @@ static ssize_t available_uuids_show(struct device *dev,
for (i = 0; i < INT3400_THERMAL_MAXIMUM_UUID; i++) { for (i = 0; i < INT3400_THERMAL_MAXIMUM_UUID; i++) {
if (priv->uuid_bitmap & (1 << i)) if (priv->uuid_bitmap & (1 << i))
if (PAGE_SIZE - length > 0) if (PAGE_SIZE - length > 0)
length += snprintf(&buf[length], length += scnprintf(&buf[length],
PAGE_SIZE - length, PAGE_SIZE - length,
"%s\n", "%s\n",
int3400_thermal_uuids[i]); int3400_thermal_uuids[i]);