telnetd: ifdef out a buggy error handling code path
Here, not handling the error is would just eat one input 0xff char. Correct handling would need even more corner case handling, as-is buggy handling corrupts the buffer. Since we just been told by kernel that pty is ready, EAGAIN should not be happening here anyway. function old new delta telnetd_main 1798 1785 -13 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
85100a7067
commit
662634b829
@ -192,8 +192,16 @@ safe_write_to_pty_decode_iac(struct tsession *ts)
|
|||||||
/* Literal 255 (emacs M-DEL) */
|
/* Literal 255 (emacs M-DEL) */
|
||||||
//bb_error_msg("255!");
|
//bb_error_msg("255!");
|
||||||
rc = safe_write(ts->ptyfd, &buf[1], 1);
|
rc = safe_write(ts->ptyfd, &buf[1], 1);
|
||||||
|
/*
|
||||||
|
* If we went through buffered_IAC_for_pty==1 path,
|
||||||
|
* bailing out on error like below messes up the buffer.
|
||||||
|
* EAGAIN is highly unlikely here, other errors will be
|
||||||
|
* repeated on next write, let's just skip error check.
|
||||||
|
*/
|
||||||
|
#if 0
|
||||||
if (rc <= 0)
|
if (rc <= 0)
|
||||||
return rc;
|
return rc;
|
||||||
|
#endif
|
||||||
rc = 2;
|
rc = 2;
|
||||||
goto update_and_return;
|
goto update_and_return;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user