diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-04 11:06:13 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-12-01 09:37:34 +0100 |
commit | 5a2261ed3a29a180e006526718acb5712cf5bcc7 (patch) | |
tree | d21a148de304376b44fce32ec940cf76307c25f1 /drivers/tty/tty_buffer.c | |
parent | 5e8c28f4fd641fbc9b1f13448ed7e72019c673f6 (diff) | |
download | linux-stable-5a2261ed3a29a180e006526718acb5712cf5bcc7.tar.gz linux-stable-5a2261ed3a29a180e006526718acb5712cf5bcc7.tar.bz2 linux-stable-5a2261ed3a29a180e006526718acb5712cf5bcc7.zip |
tty: wipe buffer.
commit c9a8e5fce009e3c601a43c49ea9dbcb25d1ffac5 upstream.
After we are done with the tty buffer, zero it out.
Reported-by: aszlig <aszlig@nix.build>
Tested-by: Milan Broz <gmazyland@gmail.com>
Tested-by: Daniel Zatovic <daniel.zatovic@gmail.com>
Tested-by: aszlig <aszlig@nix.build>
Cc: Willy Tarreau <w@1wt.eu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/tty_buffer.c')
-rw-r--r-- | drivers/tty/tty_buffer.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c index c996b6859c5e..ae3ce330200e 100644 --- a/drivers/tty/tty_buffer.c +++ b/drivers/tty/tty_buffer.c @@ -468,11 +468,15 @@ receive_buf(struct tty_port *port, struct tty_buffer *head, int count) { unsigned char *p = char_buf_ptr(head, head->read); char *f = NULL; + int n; if (~head->flags & TTYB_NORMAL) f = flag_buf_ptr(head, head->read); - return port->client_ops->receive_buf(port, p, f, count); + n = port->client_ops->receive_buf(port, p, f, count); + if (n > 0) + memset(p, 0, n); + return n; } /** |