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:
Denys Vlasenko 2016-10-13 16:17:06 +02:00
parent 85100a7067
commit 662634b829

View File

@ -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;
} }