[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freewnn:00386] Re: I found a bug?
元木です。
どうもありがとうございます。
# 現在バッファ関連でやばめのやつ。
# WNN_HOSTLEN, FILENAME, FILE_NAME_L
In [freewnn : No.00385]
Kazuo ISHIDA <ishidakz@hml.cl.nec.co.jp> wrote:
!> で、真の問題はどの部分でバッファー以上のデータを読み込もう
!> としたかなのですが調べてもらえますか?
| 今回おかしかったのは Wnn/jserver/do_env.c 内の js_open() です
| この関数中の
| gets_cur (tmp_buf, WNN_HOSTLEN);
| でデータが読み込みきれなかったようです
| 実際、WNN_HOSTLEN は 16 に定義されていると思うのですが
| 読み込まれるホスト名は minerva.hml.cl.nec.co.jp で 24 (+1) 文字あります
むう。WNN_HOSTLEN ですか..... 短いなぁとは思っていたのです
がこれを変更すると辞書に埋め込まれる createhost の長さが変
わるので辞書のフォーマットに互換性が無くなってしまいます。
ソースをちょっと眺めた感じでは、libwnn(jlib) を使用している
場合は libwnn(jlib)側で WNN_HOSTLEN 分しか取得していないの
でこの問題は起こらないようです。
tamago v4 だと多分チェックしていないので引っかかってしまう
可能性があります。
# ちゃんとサーバ側でハンドリングしていればいいだけの話だった
# ので tamago は無罪です。
というわけで tamago をお使いの皆様はいしださんのパッチを当
てて使用した方が良いと思います。
Message-ID: <20000510135958G.ishidakz@hml.cl.nec.co.jp>
| しかし不思議なのは同関数内の
| error1 ("Inet user=%s@%s\n", c_c->user_name, c_c->host_name);
| をコメントアウトしたりすると正しくなったかのように
| 動作したりしたのです (実際には正しくなかったのですが)
| 最適化か、error1 中で行われる fflush() が影響していたのでしょうかね?
ん???? ちょっと状況が見えないのですが
> error1 ("Inet user=%s@%s\n", c_c->user_name, c_c->host_name);
があるとないとで挙動が変化したということでしょうか?
あと、これはパッチ適用後でしょうか? それとも適用前でしょうか?
# 「正しくなったかのように」ってあるから適用後なのだろうか?
| 以上のような情報でお役にたてたでしょうか
重ねてありがとうございます。
sin.