◀ANSI版開発トップへ
  • 5484 長すぎるパス名(続き)
    • 5487 Re:長すぎるパス名(続き)
    • 5500 Re:長すぎるパス名(続き)
      • 5525 Re2:長すぎるパス名(続き)
  • [5484] 長すぎるパス名(続き) げんた 2008年11月29日 13:03

    >>data:6818 を見てGrep処理を追ってみたところ,CEditView::DoGrep()の中でバッファオーバーランの可能性が残ってますね.

    途中
    char szFile[_MAX_PATH];
    ...
    strcpy( szFile, pcmGrepFile->GetPtr( /* &nDummy */ ) );

    となっておりますが,GrepFileにはファイル名ではなくファイル名の検索パターン(セミコロン区切り)が与えられるので,_MAX_PATH以下との仮定は完全に誤りです.

    ちなみに,szFile自体は受け渡しにしか使われていないので,ここでコピーする意味が分かりませんね.pcmGrepFile->GetPtr()をそのまま渡せばこの問題は解決しそうです.
    • [5487] Re:長すぎるパス名(続き) 通りすがり 2008年11月29日 23:27

      あちこちにMAX_PATHの処理があるからまずいわけで、
      ファイルパスクラスでも作って隠蔽したほうがいい
      んじゃないかと思いました。
    • [5500] Re:長すぎるパス名(続き) なすこじ 2008年12月08日 00:19

      ▼ げんたさん
      > ちなみに,szFile自体は受け渡しにしか使われていないので,ここでコピーする意味が分かりませんね.pcmGrepFile->GetPtr()をそのまま渡せばこの問題は解決しそうです.

      パッチを作成しました。
      Patches #2402850
      • [5525] Re2:長すぎるパス名(続き) なすこじ 2009年01月15日 22:48

        rev1510でコミットしました。