summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/termios.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libcsupport/src/termios.c')
-rw-r--r--cpukit/libcsupport/src/termios.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/cpukit/libcsupport/src/termios.c b/cpukit/libcsupport/src/termios.c
index 732964ffb5..c6033ed388 100644
--- a/cpukit/libcsupport/src/termios.c
+++ b/cpukit/libcsupport/src/termios.c
@@ -1021,7 +1021,8 @@ fillBufferQueue (struct rtems_termios_tty *tty)
/*
* Process characters read from raw queue
*/
- while (tty->rawInBuf.Head != tty->rawInBuf.Tail) {
+ while ((tty->rawInBuf.Head != tty->rawInBuf.Tail) &&
+ (tty->ccount < (CBUFSIZE-1))) {
unsigned char c;
unsigned int newHead;