Skip to content

Commit

Permalink
Fix buffer underflow when serial peer spews garbage
Browse files Browse the repository at this point in the history
A board I got spews garbage on hard reset. Sometimes that garbage is IAC
and it leads to len here getting negative and the loop eventually
underflows the buf.

Detect and avoid this silently.
  • Loading branch information
a3f committed Sep 14, 2018
1 parent a94d4b8 commit 901fd2a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion mux.c
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ static int handle_receive_buf(struct ios_ops *ios, unsigned char *buf, int len)
unsigned char *sendbuf = buf;
int i;

while (len) {
while (len > 0) {
switch (*buf) {
case IAC:
/* BUG: this is telnet specific */
Expand Down

0 comments on commit 901fd2a

Please sign in to comment.