diff options
-rw-r--r-- | pttbbs/mbbsd/talk.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/pttbbs/mbbsd/talk.c b/pttbbs/mbbsd/talk.c index 11fa147c..8c9e019c 100644 --- a/pttbbs/mbbsd/talk.c +++ b/pttbbs/mbbsd/talk.c @@ -679,7 +679,9 @@ my_write2(void) if (!tw->uin) break; - if (ch != '\r' && ch != '\n') { + // TODO(piaip) 這裡很危險。使用者可能趁機亂塞東西進 buf. + // 另外 KEY_UP 之類的是 >0xFF 所以或許我們該徹查一下 isascii 的判斷。 + if ((ch < 0x100 && !isascii(ch)) || isprint(ch)) { msg[0] = ch, msg[1] = 0; } else msg[0] = 0; |