diff options
author | 2021-01-24 21:33:28 +0106 | |
---|---|---|
committer | 2021-01-25 10:37:08 +0100 | |
commit | 08d60e5999540110576e7c1346d486220751b7f9 (patch) | |
tree | 34dec1b042b178aff436dac062169aec4534fb42 /kernel/printk/printk.c | |
parent | printk: fix buffer overflow potential for print_text() (diff) | |
download | linux-08d60e5999540110576e7c1346d486220751b7f9.tar.gz linux-08d60e5999540110576e7c1346d486220751b7f9.tar.bz2 linux-08d60e5999540110576e7c1346d486220751b7f9.zip |
printk: fix string termination for record_print_text()
Commit f0e386ee0c0b ("printk: fix buffer overflow potential for
print_text()") added string termination in record_print_text().
However it used the wrong base pointer for adding the terminator.
This led to a 0-byte being written somewhere beyond the buffer.
Use the correct base pointer when adding the terminator.
Fixes: f0e386ee0c0b ("printk: fix buffer overflow potential for print_text()")
Reported-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20210124202728.4718-1-john.ogness@linutronix.de
Diffstat (limited to 'kernel/printk/printk.c')
-rw-r--r-- | kernel/printk/printk.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 17fa6dc77053..c55cd1820689 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1399,7 +1399,7 @@ static size_t record_print_text(struct printk_record *r, bool syslog, * not counted in the return value. */ if (buf_size > 0) - text[len] = 0; + r->text_buf[len] = 0; return len; } |