[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freewnn:00383] I found a bug?
- To: freewnn@tomo.tomo.gr.jp
- Subject: [freewnn:00383] I found a bug?
- From: Kazuo ISHIDA <ishidakz@XXXX>
- Date: Wed, 10 May 2000 13:59:58 +0900
- Reply-To: freewnn@tomo.gr.jp
はじめまして いしだ@NEC と申します
早速ですが、先日 FreeBSD 4.0R 上に
FreeWnn-1.1.1-a017.tar.gz をインストールしました
漢字変換などは無事に動いているようなのですが
wnnstat などで接続状況を表示させてみると
ユーザ名:ホスト名 (ソケットNo.) 環境番号
:minerva.hml.cl. (0) 0 1
のようにユーザが出なかったり、おかしくなったりする現象にあいました
ちょっと調べたところ、Wnn/jserver/de.c の gets_cur() で
バッファの長さいっぱいまで文字列を読み込んだ時の
動作がおかしいと思われる箇所が見つかりました
バッファにゴミなどが残っていれば ちゃんと動くと思われますが
0 クリアされていたりするとバッファに読み切れなかった文字列が
残ってしまい、悪さをするようです
getws_cur() にも同様の問題があるようでしたので
これも含めた修正パッチを以下に添付します
もし、私の勘違い、あるいは、既知の問題であれば
無視して下さい
それでは失礼致します
diff -ru FreeWnn-1.1.1-a017/Xsi/Wnn/jserver/de.c FreeWnn-1.1.1-a017.new/Xsi/Wnn/jserver/de.c
--- FreeWnn-1.1.1-a017/Xsi/Wnn/jserver/de.c Tue Mar 21 01:31:43 2000
+++ FreeWnn-1.1.1-a017.new/Xsi/Wnn/jserver/de.c Wed May 10 13:28:37 2000
@@ -626,7 +626,7 @@
while (--buffer_size && (*b = getc_cur ()) != '\0')
b++;
- if (*b != '\0')
+ if (!buffer_size)
{
*b = '\0';
while (getc_cur () != '\0')
@@ -652,7 +652,7 @@
while (--buffer_size && (*b = get2_cur ()) != 0)
b++;
- if (*b != 0)
+ if (!buffer_size)
{
*b = 0;
while (getc_cur () != 0)