[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mgp-users-jp 00549] Re: mgp-1.05a on RedHat Linux 5.2



;;; In [mgp-users-jp : No.00541] / 
;;;    itojun@iijlab.net writes:

| >  最終ページまで行って、戻ったら途中で
| >  internal error: invalid seed <8???8???a-medium?>
| >  ("?" は 8bit キャラクタ) が出て mgp が落ちることがある
| >  # 2回目は再現しなかった、3回目はやる元気が起きなかった

これは、[ mgp-users-jp : No.00536 ] で私が書いたように、
obj_new_xfont に strdup が必要です。

なぜ必要かと言うと、

上記 error を出している x_fontname では seed に '-' が1個だけ
含まれている時のみ error になります。
なので error にはならなくても seed 文字列がゴミであることがあります。
(ただ '-' を0個または2個以上含むように見えるだけで、free された領域)

draw.c:3798 (x_register_seed) で cp->ctc2_value1 を free していますが、
draw.c:1411 (obj_new_xfont) でこれを使い回すべく保存していますよね。

| 	これはなんかboundary checkしくってる?

というわけで、それ以前の問題です。

# 調べた上でこれが妥当な回避方法だと思い、書いたのですが、
# 「適当に胡麻化しています」がいけなかったかな ^^;;

P.S.
Debian GNU/Linux potato (kernel 2.2.10, glibc 2.1.1) + twm
という環境で試していますが、うちでは他の問題は起きていません。
-- 
Daiki Ueno (ueno@ueda.info.waseda.ac.jp)