スパムが酷いため休止中です。移転先検討中です。(2014/8/17)
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  
38 / 1841 ←次へ | 前へ→

DiskInfoDlgMenu.cppにおけるIRegisteredTaskの取り扱いについて
←back ↑menu ↑top forward→
 もろへ  - 14/6/18(水) 17:20 -

引用なし
パスワード
   まずはじめに、良いソフトウェアをありがとうございます。
ここでバグ?報告が適切かどうかは分かりませんが、

CrystalDiskInfo6_1_14Srcのソースコードを見ていたところ、
DiskInfoDlgMenu.cppのBOOL CDiskInfoDlg::RegisterStartup()関数内でのIRegisteredTaskの取り扱いについてですが、909行目で取得し、
pRootFolder->GetTask(_bstr_t(wszTaskName), &pRegisteredTask);
(今気付きましたが、ここと下のget_DefinitionでHRESULT取り忘れてますね)

これをそのまま920行目で使いまわしておりますが、
hr = pRootFolder->RegisterTaskDefinition

MSDNによりますと
http://msdn.microsoft.com/ja-jp/library/windows/desktop/aa381365%28v=vs.85%29.aspx
>ppTask [out]
>An IRegisteredTask interface that represents the new task.
>Pass in a reference to a NULL IRegisteredTask interface pointer. Referencing a non-NULL pointer can cause a memory leak because the pointer will be overwritten.
とあり、この状態ではメモリーリークが発生する可能性があるかと思います。
対応としては、これの前にSAFE_RELEASEしてやるといいとは思います。

以上、失礼しました。

1,290 hits

DiskInfoDlgMenu.cppにおけるIRegisteredTaskの取り扱いについて もろへ 14/6/18(水) 17:20
Re:DiskInfoDlgMenu.cppにおけるIRegisteredTaskの取... ひよひよ 14/6/18(水) 23:01
優先度 Nano 14/8/7(木) 11:28
Re:優先度 ひよひよ 14/8/7(木) 23:24

38 / 1841 ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  
ページ:  ┃  記事番号:   
214947
(SS)C-BOARD v3.8(とほほ改ver2.1) is Free