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

[FDclone-users:00514] Re: FDclone でファイルサイズが 0 と表示される



 しらいです。

In Message-Id <OF65CBD62A.551696F9-ON4925715C.0004D68F@tky.lightwell.co.jp>
        SHIOTA Shoichi <Shoichi.Shiota@lightwell.co.jp>さんwrites:
> 潮田です。

> >  別のところの AIX 5.2 では大丈夫だったそうなんですが、何が
> > 違うんでしょうか?
> こちらの環境がおかしいだけだったらどうしましょう。

 一応その「別のところ」にも再検証を打診しました。


> 時間切れで、1行ごとのトレースは出来ていませんが、 len の値が
> どこかで壊れるようです。

 len の値は明示的に代入してある箇所以外では書換えていない筈
なので、もしその箇所以外で書換わってしまったとしたら、どこか
で buffer overflow が発生しているということでしょう。
 となると意図的な書換えではないのでどこで発生しているか判り
ません。一行ずつ追っていくしかないと思います。


> #ifndef HAVELONGLONG
>                 if (len > (int)sizeof(u_long_t)) mask = MAXUTYPE(u_long_t);
>                 else
> #endif

 これって [FDclone-users:00508] の patch ではありませんか?
大差ないとは思いますが、一応 [FDclone-users:00510] の方で検
証してみて下さい。


> これ以上は、週末までまっていただけますか。
> (どの行の後で値が変わりました、ぐらいの報告しかできませんが)

 debugger が使えると楽なんですけどね。AIX の debugger は知
らないので、操作法を含めて何の指南も出来ませんが、使えるよう
なら debugger で trace してみて下さい。
 printf debug をする場合、端末出力だと流れて行って消えてし
まうことが多いので、fprintf を使って log file に吐くといいと
思います。
 もしくは、log 用の logmessage() という関数があるので、それ
を使って logmessage(0, "len = %d", len); のようにすれば、変
数 LOGFILE で指定したファイルに書き込まれる筈です。但し、変
数 LOGLEVEL の値を 1 以上にしておいて下さい。


> 不注意な言葉で、気分を害させて申し訳ありません。

 別に文句を言っているつもりはないので気になさらないで下さい。
私のもの言いがそう聞こえたようならごめんなさい。

                                               しらい たかし