diff options
author | cognet <cognet@FreeBSD.org> | 2004-05-10 15:52:16 +0000 |
---|---|---|
committer | cognet <cognet@FreeBSD.org> | 2004-05-10 15:52:16 +0000 |
commit | 5994ff7b4c470c55ddf16a452334d6deaf635f27 (patch) | |
tree | 6c558c8cc18204da4d47fe606af122b29e29e87f | |
parent | 3cc360e7bb13bbf6a91389479e2d16f60aa0667e (diff) | |
download | FreeBSD-src-5994ff7b4c470c55ddf16a452334d6deaf635f27.zip FreeBSD-src-5994ff7b4c470c55ddf16a452334d6deaf635f27.tar.gz |
Do not attempt ro read more than sizeof(buf) from stdin.
-rw-r--r-- | usr.bin/talk/io.c | 2 |
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 */ |