Commit ee8b593a authored by Jiri Slaby's avatar Jiri Slaby Committed by Greg Kroah-Hartman

TTY: ttyprintk, don't touch behind tty->write_buf

If a user provides a buffer larger than a tty->write_buf chunk and
passes '\r' at the end of the buffer, we touch an out-of-bound memory.

Add a check there to prevent this.
Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
Cc: stable@vger.kernel.org (everything maintained past v2.6.37)
Cc: Samo Pogacnik <samo_pogacnik@t-2.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f06fb543
...@@ -67,7 +67,7 @@ static int tpk_printk(const unsigned char *buf, int count) ...@@ -67,7 +67,7 @@ static int tpk_printk(const unsigned char *buf, int count)
tmp[tpk_curr + 1] = '\0'; tmp[tpk_curr + 1] = '\0';
printk(KERN_INFO "%s%s", tpk_tag, tmp); printk(KERN_INFO "%s%s", tpk_tag, tmp);
tpk_curr = 0; tpk_curr = 0;
if (buf[i + 1] == '\n') if ((i + 1) < count && buf[i + 1] == '\n')
i++; i++;
break; break;
case '\n': case '\n':
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment