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

[FDclone-users:00852] Re: ツリー表示状態からキャンセルするとSEGV



 しらいです。

In Message-Id <u2l3b434ed21005081845ta436fb1ct39c91c66d0270734@mail.gmail.com>
        Hironao Komatsu <hirkmt@gmail.com>さんwrites:
> 小松です。

> [C]キーなどで、「ツリーを用いたファイル操作」中に、ツリー表示状態から
> Esc でキャンセルすると、Segmentation faultが発生します。

 遡って調べてみたところ 2.09e での embug のようですので、3
年近くも放置されていたことになります。よくぞ見つけて下さいま
した。
 directory 移動に tree 機能を使うことはあっても、目的 path
の指定くらいでいちいち tree を使うと却って面倒なので、この機
能自体の利用者が少なかったんでしょうね。

 元々は MS-DOS 版由来の bug で、MS-DOS 版で確認すると 1.03
で症状が再現しましたので、それから数えると実に 12 年越しです
ね。
 2.09e で MS-DOS 版専用の処理を UNIX 版と統合したために、一
緒に bug まで統合しまったようです。これがなければ MS-DOS 版
固有 bug なんて二度と見つからないままだったかも知れません。
 本当に見つけて下さってありがとうございました。


> 原因は、pathがNULLかどうかのチェックが抜けている箇所がいくつかあると
> いうものですが、とりあえず下の一ヶ所を修正したら再現しなくなりました。

 _tree() が NULL を返すこと自体は想定内なので、それを呼出し
元に返す前に参照しているこの箇所を除けば NULL を NULL として
扱えます。多分他の箇所は問題ないでしょう。
 一応、他の部分との整合性も含めて問題ないかどうか検証した上
で、近い内に FD-3.00f として release しようと思います。

                                               しらい たかし