[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freewnn:00077] illigal memory access.
- To: freewnn@tomo.tomo.gr.jp
- Subject: [freewnn:00077] illigal memory access.
- From: MOTOKI Sinichi <sin@XXXX>
- Date: 18 Aug 1999 13:42:40 +0900
- Reply-To: freewnn@tomo.gr.jp
- User-Agent: T-gnus/6.13.0 (based on Pterodactyl Gnus v0.95) REMI/1.13.2(Ōike-Ikoinomori) FLIM/1.13.2 (Kasanui) Emacs/20.3(i386-debian-linux-gnu) MULE/4.0 (HANANOEN)
元木@ITLです。
今日は autoconf 関連でなく、怪しい報告 & 怪しいパッチです。
事の発端は、日々 FreeWnn を使っていると時々、付属語ファイル
関連でエラーが出ることから始まります。
さて、エラーになるのも腹が立つのでデバックしようと -g と
Electric Fence(malloc debugger の一種) をリンクした jserver
を立ち上げたのですが、エラー以前に segmentation fault して
しまいました。
調べてみると、sbn_kai(bnsetu_kai.c), zen_sbn(jikouho_d.c)
において fkz_ckvt の vector(引数) に WNN_VECT_NO(-1) をセッ
トした状態で呼び出されているのが問題のようです。
fkz_ckvt内で、引数を
>ft->kango_vect_area(struct kangovectへのポインター) + vector(引数)
として fkz_ck_vector を呼び出しているのですが、
fkz_ck_vector内で、このポインターの指す領域を参照している部
分があり、ここで segmentation fault しているようです。
(確保した領域の先頭から -1 した領域ならば segmentation
fault で当然ですよね?)
変換ルーチン全体を読んでいないので、いまいちパッチの正当性
に自信が無いですが、とりあえず修正してみました。
2つのパッチを Xsi/Wnn/jserver 以下であてて下さい。
o 変更点
- sbn_kai(bnsetu_kai.c), zen_sbn(jikouho_d.c) において、
endvect1 が WNN_VECT_NO の場合は、fkz_ckvt を呼び出さない
ようにした。
# 本題のエラーはさっぱり出なくなってしまいました (^^;
sin.
bnsetu_kai.c.diff
jikouho_d.c.diff