getmodulefilenamew関数は、2番目の引数をこの例では固定サイズのbufferとして受け入れるので、誤検出(バッファオーバーフロー)を引き起こします。バッファオーバーフローまたは偽陽性?
しかし、そのドキュメントを覗き:http://msdn.microsoft.com/en-us/library/ms683197%28v=vs.85%29.aspx
引用:バッファはモジュール名を保持するには小さすぎる場合、文字列が終端のNULL文字を含むnsizeの文字に切り捨てられ、関数はnsizeの場合を返し、機能を最後のエラーをERROR_INSUFFICIENT_BUFFERに設定します。
誰かが信頼できる第三者である場合、この問題を偽陽性として確認または拒否できますか?ご協力いただきありがとうございます!
===
HMODULE applicationModule = GetModuleHandleW(NULL);
WCHAR processName[MAX_PATH];
memset(processName, 0, sizeof(processName));
GetModuleFileNameW(applicationModule, processName, sizeof(processName));
===
問題は、スキャンのVeraCode静的アナライザによって提供された
GetModuleFileNameW機能付きラインです。
何らかの静的検査ツールについて話していますか?どちらを教えて、あなたのコードを教えてください。そうでなければ、意味のある答えのチャンスはありません。 –
私の悪い、申し訳ありません。私は質問を更新しました。 –