summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-10-04 14:06:13 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-10-11 13:50:00 -0400
commitc9a8e5fce009e3c601a43c49ea9dbcb25d1ffac5 (patch)
treec04d8a0702b70c3029d7957800d70a1db48de255
parent3bc3206e1c0f3f8891b544df02caae0e6d844f7d (diff)
tty: wipe buffer.
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>
-rw-r--r--drivers/tty/tty_buffer.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c
index 76151c002858..77070c2d1240 100644
--- a/drivers/tty/tty_buffer.c
+++ b/drivers/tty/tty_buffer.c
@@ -473,11 +473,15 @@ receive_buf(struct tty_port *port, struct tty_buffer *head, int count)
473{ 473{
474 unsigned char *p = char_buf_ptr(head, head->read); 474 unsigned char *p = char_buf_ptr(head, head->read);
475 char *f = NULL; 475 char *f = NULL;
476 int n;
476 477
477 if (~head->flags & TTYB_NORMAL) 478 if (~head->flags & TTYB_NORMAL)
478 f = flag_buf_ptr(head, head->read); 479 f = flag_buf_ptr(head, head->read);
479 480
480 return port->client_ops->receive_buf(port, p, f, count); 481 n = port->client_ops->receive_buf(port, p, f, count);
482 if (n > 0)
483 memset(p, 0, n);
484 return n;
481} 485}
482 486
483/** 487/**