aboutsummaryrefslogtreecommitdiff
path: root/termkey.c
diff options
context:
space:
mode:
Diffstat (limited to 'termkey.c')
-rw-r--r--termkey.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/termkey.c b/termkey.c
index 7770d83..a55b106 100644
--- a/termkey.c
+++ b/termkey.c
@@ -949,6 +949,12 @@ TermKeyResult termkey_advisereadable(TermKey *tk)
tk->buffstart = 0;
}
+ /* Not expecting it ever to be greater but doesn't hurt to handle that */
+ if(tk->buffcount >= tk->buffsize) {
+ errno = ENOMEM;
+ return TERMKEY_RES_ERROR;
+ }
+
retry:
len = read(tk->fd, tk->buffer + tk->buffcount, tk->buffsize - tk->buffcount);