問題タブ [klocwork]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Klocwork 9.6 は、指定されたファイルでのみ特定のチェッカーを無視します
静的コード解析には Klocwork 9.6 を使用しています。
分析を実行するために、コマンド ライン ツール「kwcheck」コマンド
を使用しています。除外したいエラーがいくつかあります。
例えば
これは、出力後処理ではなく、Klocwork 機能を介して実現する必要があります。
これに適した特定の Klocwork コマンド/スイッチはありますか?
architecture - klocwork アーキテクト レポートの解釈方法
Java モジュールとファイルの関係をグラフィカルに表示する KlocWork Architect PDF レポートを生成しました。しかし、グラフィカル レポートには、矢印の上に数字が含まれています。私が知りたいのは、これらの数字をどのように解釈するかです。矢印は「指定されたブロック間の有向依存関係」を示していますか? 間違っている場合は修正してください。また、レポートには、変更されたすべてのメソッド/グローバル変数と、影響を受けるすべての関数が示されていますか?
前もって感謝します。
c - ABR Analyze バッファ オーバーフロー - Klockwork の問題
Klockwork は上記の行に対してエラーを表示します - ABR Analyze Buffer overflow, array index of 'pRsvpTeTnlInfo->pTeTnlInfo->au1TnlName' may be out of bounds. サイズ 32 の配列 'pRsvpTeTnlInfo->pTeTnlInfo->au1TnlName' は、インデックス値 0..INT_MAX-1 を使用できます。
klocwork でこのエラーが発生する根本的な原因を特定できません。誰かが私を助けることができますか?
c++ - C++ プロジェクトで報告された奇妙な Klocwork の問題
Klocwork によって報告されたいくつかの問題は非常に奇妙です。例えば -
上記のコードの場合、Klocwork は NULL ポインター逆参照を報告します。しかし、これは正当な問題だとは思いません。ポインターが null であるかのように、関数から返され、ポインターにアクセスする機会がありません。しかし、それでも Klocwork はこれを問題として報告しました。
もう一つの問題は-
上記のコードについて、Klocwork は、上記のコード部分がバッファー オーバーフローを引き起こす可能性があると述べています。'buf' の配列インデックスが範囲外である可能性があります。ただし、name 変数が 1000 バイトを超えないことを確認しています。それでも、Klocwork はこれを問題として報告しました。
コードにエラーがないようにする必要があり、最終的なコードには Klocwork の問題が含まれないようにする必要があります。上記の問題を克服するための効率的な方法を提案できる人はいますか?
c++ - これは Klocwork からの誤検出ですか?
バックグラウンド
次のコードを検討してください。
_memView が void ポインターとして宣言されているとします。memcpy_s はどこにも再定義されていません。
この関数は、char、int、HANDLE、unsigned int、long、および unsigned long の型でのみインスタンス化されます。このスニペットの他の問題にとらわれないでください。これは klocwork に関するものです。
このテンプレート化されたコードはクラスの一部であるため、これはヘッダー ファイルにあります。
他の関連情報が不足している場合は、お問い合わせください。
問題
Klocwork で分析した後、次の SV.BANNED.COPY 警告が表示されます。
つまり、memcpy_s を呼び出している方法で、ここで頭がおかしいことをしているのですか? memcpy_s は Klocwork によって安全でないと見なされますか? Klocwork は char* へのキャストによって混乱し、C スタイルの文字列を操作していると思いますか?
Klocwork が何を伝えようとしているのかを理解したいと思っています。