"Ootake" Nonsupport BBS ノンサポート掲示板 管理:ソフト開発グループ「Finath(ファイナス)」
現在までに、4324人の方が、この書き込みをご覧になっています。
20/03/14(土)11:09 うま
WM_DEVICECHANGEでの停止とコンフィグでの停止?
"Ootake" version 2.95ですが、
自分の環境で、不定期でヌルポインタ例外停止が発生するので、
添付のソースをビルドしてデバッグ動作させてみたところ、
WM_DEVICECHANGE に lParam = NULL で飛んできて、
そこで例外停止するようでした。
lParamがヌルで呼ばれる原因は分かりません
(色々つないでるからかもしれませんが)
暫定措置としてNULLチェックを入れてヌルアクセスしないように対処したところ、
停止はしなくなりました。
WinMain.cpp (644)
if (lpdb->dbch_devicetype == DBT_DEVTYP_VOLUME)
↓
if (lpdb && lpdb->dbch_devicetype == DBT_DEVTYP_VOLUME)
他、
コンフィグ系で内部的に3文字扱う処理で
char[3]のbufを扱う箇所があり
VisualStudioからデバッグ起動すると、実行時チェックで停止していました。
Keyconfig.cpp(140)
char buf[3]; → char buf[3+1];
Keyconfig.cpp(453)
char buf2[3]; → char buf2[3+1];
TurboConfig.cpp(129)
char buf2[3]; → char buf2[3+1];
以上、参考までにご報告でした。
20/03/20(金)10:31 Ootake作者
Re)修正したv2.96を公開しました
こんにちは。
マウントするとドライブ数が増える(&アンマウントで減る)タイプの仮想CD
ソフトを入れてあるPC環境で、マウントの時などにOotakeが落ちる事が見つかっ
ていて、
> if (lpdb && lpdb->dbch_devicetype == DBT_DEVTYP_VOLUME)
おかげでこの修正でそれがバッチリ直りました。
buf[3+1]もv2.96で修正できました。
詳細な修正、本当に助かりました。ありがとうございます!
メッセージ一覧へ戻る
Copyright(C)1997-2007 Kitao Nakamura.
|