[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00514] Re: FDclone でファイルサイズが 0 と表示される
- Subject: [FDclone-users:00514] Re: FDclone でファイルサイズが 0 と表示される
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Wed, 26 Apr 2006 16:29:32 +0900
しらいです。
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 以上にしておいて下さい。
> 不注意な言葉で、気分を害させて申し訳ありません。
別に文句を言っているつもりはないので気になさらないで下さい。
私のもの言いがそう聞こえたようならごめんなさい。
しらい たかし