問題タブ [coverity]

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.

0 投票する
1 に答える
133 参照

linux - Travis-CI ビルドの複数インストールの回避/削減

Jailhouse ハイパーバイザーの Travis-CI ビルドでは、最近の make バージョン (>=3.82、デフォルトのバージョンはまだ 3.81 です - Ubuntu...) をプルするための部分的な配布更新で構成される、かなりコストのかかる環境セットアップがあります。 、ARM 用のクロス ツールチェーン、およびツリー外モジュールをコンパイルするために必要なビルド済み Linux カーネル ソースの 100 MB パッケージ。

ビルド時間とカーネルのダウンロード数を減らすために、現在、すべての構成バリアントを 1 回の実行 (make; make clean; make...) で順番にビルドしています。ビルドの破損をチェックするにはこれで問題ありませんでしたが、ビルド出力に依存する Coverity スキャンを追加すると、機能しなくなります。Travis-CI はそのようなビルド中にそれらを再利用できないように見えるため、複数のインストールの代償を払って、ビルド マトリックスに切り替えることは明白な解決策のようです。現在、構成のバリエーションは 3 つしかありませんが、これは将来的に増加する予定です (たとえば、ARM ボードを追加するたびに 1 つ増加します)。したがって、このアプローチは実際には拡張できません。

代替手段はありますか?docker ベースのビルドで利用できるキャッシングについては既に調べましたが、sudo のサポートがないため、このアプローチが妨げられています。他のアイデア?

0 投票する
0 に答える
1454 参照

c++ - Coverity は、キャッチされない例外について不平を言います。どのようなセキュリティ問題が関連していますか?

Linux 用の C++ コードを書いています。すべてのリソースが RAII オブジェクトにラップされています。

私のソフトウェアがスローし、try/catch ブロックがどこにもない場合。何が起こる可能性がありますか?

私は主にセキュリティの観点から質問しています。それは私が興味を持っていることだからです。リソースが失われると、特にそれがセキュリティの問題を引き起こす可能性がある場合、それも悪いことです。

わざと大まかに説明しているので、このような Coverity の問題を生成するコードの具体例を示したくありません。これが悪い習慣であるケースが 1 つでもある場合は、コードを修正する必要があるからです。

0 投票する
1 に答える
118 参照

github - Travis/Coverity の統合: YAML エンコーディングの問題

.travis.ymlプロジェクトの Travis CI を構成するために、次のファイルを使用しています。

here で説明されているように、Travis を Coverity と統合しようとしています。しかし、私が作成した YAML ファイルは整形式ではありません。

問題はenvブロックにあります。Coverity で必要とされるように変数を定義するにはどうすればよいですか?env::global::secureただし、以前に行ったようにビルド マトリックスをすべて有効な YAMLで定義します。

0 投票する
1 に答える
731 参照

coverity - フィルタリングを可能にする属性をコベリティ スナップショットに追加する方法はありますか

コベリティは初めてです。Coverity Connect でフィルタリングできるように、「RC1」などのタグでスナップショットをマークできるようにしたいと考えています。日付または日付範囲、またはスナップショット ID によって、スナップショットにある CID を選択できます。

各スナップショットがプログラムで作成されるたびに、(ビルド システムで認識されている) タグを自動的に追加できるようにしたいと考えています。

0 投票する
2 に答える
4930 参照

c++ - int データ型の %d の代わりに %ld フォーマット文字列を使用して sprintf / printf を使用した場合の影響

ある時点で長いデータ型が int データ型にリファクタリングされたレガシー コードがいくつかあります。このリファクタリング中に、多くの printf / sprintf フォーマット ステートメントが、%d に変更されずに %ld として正しく残されていました。例えば:

このコードは、GCC と VS2012 コンパイラの両方でコンパイルされます。私たちは静的コード分析に Coverity を使用し、例のようなコードは重大度が中レベルの「Printf 引数タイプの不一致」としてフラグが付けられまし 。フォーマット文字列は、unsigned int 型またはこれらの行に沿った何かを持つ符号付き (%d) の文字列でした。

sprintf などの '_s' バージョンの方が安全であり、上記のコードは std::stringstream などを使用するようにリファクタリングできることも認識しています。ただし、これはレガシー コードです...

上記のコードは、少なくとも %d を使用するか、代わりに std::stringstream のようなものを使用するようにリファクタリングする必要があることに同意します。

好奇心から、上記のコードが間違った結果を生成する状況はありますか? このレガシー コードはかなり前から存在しており、正常に動作しているようです。

更新しました

  • STL という単語の使用を削除し、std::stringstream に変更しました。
0 投票する
1 に答える
884 参照

asp.net - HttpContext.Current.User.Identity.Name 取得時のリソース リーク

HttpContext を使用して、今後の HTTP リクエストの現在のユーザー名を取得しますが、コベリティ分析を実行すると、リソース リークが報告されます。

Coverity のレポートでは 2 と表示されています。 alloc_fn: 割り当てメソッド Identity.get から新しいリソースが返されます。(仮想呼び出しは System.Security.Claims.ClaimsPrincipal.Identity.get に解決されます。) 3. noescape: リソース System.Web.HttpContext.Current.User.Identity が閉じられていないか、Name.get に保存されていません。(仮想呼び出しは Org.Abc.HttpModules.MyIdentity.Name.get に解決されます。)

CID 51307: リソース リーク (RESOURCE_LEAK) 4.leaked_resource: System.Web.HttpContext.Current.User.Identity によって作成されたリソースを保存または閉じることができないと、リソースがリークします。

0 投票する
1 に答える
667 参照

c++ - C++ コード - Coverity (またはその他の静的コード アナライザー) + スレッド セーフ

私は今日、次のことについて疑問に思っていました: 次のことを実行できるツールまたは拡張機能 (コベリティまたは他のコード アナライザー用) はありますか?:

  • まず、どのコードが新しいスレッドを生成しているかという一連のルールを設定します。これにより、コードが他のスレッドを実行することをアナライザーが認識できるようになります。
  • ツールは、どのコード部分がどのスレッドにあるか、それらが同じスレッドにあるか、異なるスレッドにあるかを追跡する必要があります。
  • スレッドの安全性を保証するコードの種類を「ルール」に設定できます。たとえば、MYLOCK クラスはスレッド間でロックされます。
  • 前の 3 つの理由: ツールは警告を表示する必要があります。どのコードが別のスレッドによって呼び出される可能性が高く、スレッド セーフの使用法が含まれていないかということです。

ありがとう