Namazu-devel-ja(旧)


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

Re: namazu 2.0.13RC1動作確認 (FreeBSD 4.9-STABLE)



寺西です。

HIROSE Yoshihide wrote:
> 
> > #FreeBSD 5.2-CURRENTではnamazu-9、ja-namazu-cgi-1でこけます
> > # ja-namazu-cgi-1は 2.0.12でもこけます。
> > # 今夜にでも、ちょっと調べます。

ja-namazu-cgi-1 はまずそうですね。
# 引数消せば直るのだろうか。

> 以下がnamazu-9のbacktraceです。

この辺りは 2.0.13 で私が書き換えた部分です。
# やばい。

> > gdb ../src/.libs/namazu lt-namazu.core
...
> #0  0x280a4218 in nmz_get_unpackw (fp=0x281977c0, data=0x800) at util.c:224
> 224                 *data = val;
> (gdb) backtrace

これは data の値があからさまにおかしそう。

> #0  0x280a4218 in nmz_get_unpackw (fp=0x281977c0, data=0x800) at util.c:224
> #1  0x28093052 in nmz_get_hlist (index=13) at hlist.c:593

        n = 0;
        totalsize = 0;
        while (totalsize < bersize) {
            totalsize += nmz_get_unpackw(Nmz.i, &buf[n]); <-- ここ
            n++;
            if (n > maxhit * 2) {
                hlist.stat = ERR_TOO_MUCH_HIT;
                free(buf);
                return hlist;
            }
        }

ということで、&buf[n] が不正のようです。
これが不正になる理由とは...。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E