mfd: aat2870: Use scnprintf() for avoiding potential buffer overflow
authorTakashi Iwai <tiwai@suse.de>
Wed, 11 Mar 2020 07:47:38 +0000 (08:47 +0100)
committerLee Jones <lee.jones@linaro.org>
Mon, 30 Mar 2020 06:35:28 +0000 (07:35 +0100)
There is still one call of sprintf() without checking the proper
buffer overflow in aat2870_dump_reg().  Replace it with scnprintf()
call for covering that.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/aat2870-core.c

index 78ee4b2..a17cf75 100644 (file)
@@ -221,7 +221,7 @@ static ssize_t aat2870_dump_reg(struct aat2870_data *aat2870, char *buf)
 
        count += sprintf(buf, "aat2870 registers\n");
        for (addr = 0; addr < AAT2870_REG_NUM; addr++) {
-               count += sprintf(buf + count, "0x%02x: ", addr);
+               count += snprintf(buf + count, PAGE_SIZE - count, "0x%02x: ", addr);
                if (count >= PAGE_SIZE - 1)
                        break;