summaryrefslogtreecommitdiffstats
path: root/usr.bin/talk
diff options
context:
space:
mode:
authorcognet <cognet@FreeBSD.org>2004-05-10 15:52:16 +0000
committercognet <cognet@FreeBSD.org>2004-05-10 15:52:16 +0000
commit5994ff7b4c470c55ddf16a452334d6deaf635f27 (patch)
tree6c558c8cc18204da4d47fe606af122b29e29e87f /usr.bin/talk
parent3cc360e7bb13bbf6a91389479e2d16f60aa0667e (diff)
downloadFreeBSD-src-5994ff7b4c470c55ddf16a452334d6deaf635f27.zip
FreeBSD-src-5994ff7b4c470c55ddf16a452334d6deaf635f27.tar.gz
Do not attempt ro read more than sizeof(buf) from stdin.
Diffstat (limited to 'usr.bin/talk')
-rw-r--r--usr.bin/talk/io.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/usr.bin/talk/io.c b/usr.bin/talk/io.c
index 00b2548..bcbf535 100644
--- a/usr.bin/talk/io.c
+++ b/usr.bin/talk/io.c
@@ -138,6 +138,8 @@ talk()
*/
int i;
ioctl(0, FIONREAD, (void *) &nb);
+ if (nb > sizeof buf)
+ nb = sizeof buf;
nb = read(STDIN_FILENO, buf, nb);
display(&my_win, buf, nb);
/* might lose data here because sockt is non-blocking */
OpenPOWER on IntegriCloud