getmodulefilenamew函數產生誤報(緩衝區溢出),因爲它接受第二個參數作爲緩衝區 - 在我們的例子中爲固定大小。緩衝區溢出或誤報?
但希望通過它的文檔:http://msdn.microsoft.com/en-us/library/ms683197%28v=vs.85%29.aspx
引用:如果緩衝區太小,無法容納模塊名,字符串被截斷爲n大小字符,包括終止空字符,該函數返回n大小和功能將最後一個錯誤設置爲ERROR_INSUFFICIENT_BUFFER。
作爲可信賴的第三方人員可以確認或拒絕此問題爲誤報。謝謝你的幫助!
===
HMODULE applicationModule = GetModuleHandleW(NULL);
WCHAR processName[MAX_PATH];
memset(processName, 0, sizeof(processName));
GetModuleFileNameW(applicationModule, processName, sizeof(processName));
===
問題是與GetModuleFileNameW功能
掃描通過Veracode的靜態分析器提供線。
您是否在談論某種靜態檢查工具?告訴我們,告訴我們你的代碼。否則沒有機會獲得有意義的答案。 –
我的不好,抱歉。我更新了問題。 –