(CWE)に関する Coverityのカバレッジ : C/C++

DATA SHEET
Coverity Coverage For Common Weakness
Enumeration ( CWE ): C/C++
Coverity Software Testing Platform version 7.5 および CWE version 2.5
CWE ID
Coverity Static Analysis チェッカー
チェッカー定義
不具合のカテゴリー
信頼できない引数値
TAINTED_SCALAR
20
信頼できないスカラー値の使用
信頼できない値の使用
TAINTED_STRING
信頼できない文字列の使用
USER_POINTER
ユーザポインタの間接参照
ARRAY_VS_SINGLETON
範囲外のアクセス
BAD_ALLOC_ARITHMETIC
意図していないポインタ演算
COM.BSTR.CONV
COM BSTR への不正な変換
INCOMPATIBLE_CAST
簡易外のアクセス
INTEGER_OVERFLOW
オーバーフローした配列インデックスによる更新
オーバーフローしたポインタによる更新
INVALIDATE_ITERATOR
MISMATCHED_ITERATOR
不正なイテレータの使用
安全でないデータハンドリング
経験則上のセキュリティ違反
メモリー破損
メモリー不正アクセス
メモリー破損
API の誤使用
不適切なコンテナからのイテレータ
ミスマッチなイテレータによる結合
119
割り当てるサイズが不正
OVERRUN
不正なアドレス演算
範囲外のアクセス
範囲外への更新
割り当てるサイズが不正
OVERRUN_DYNAMIC
メモリー破損
範囲外のアクセス
範囲外への更新
OVERRUN_STATIC
範囲外のアクセス
範囲外への更新
REVERSE_NEGATIVE
引数は負の値をとれません
1
COVERITY COVERAGE FOR COMMON WEAKNESS ENUMERATION (CWE): C/C++
CWE ID
Coverity Static Analysis チェッカー
BUFFER_SIZE
チェッカー定義
不具合のカテゴリー
コピー先バッファのサイズが不十分
メモリー破損
固定長バッファへのコピー
バッファオーバーフローの可能性
120
SIZECHECK
経験則上のセキュリティ違反
割り当てサイズが該当する型に不十分
バッファオーバーフロー
STRING_OVERFLOW
DATA SHEET
メモリー破損
コピー先バッファのサイズが不十分
固定長バッファへのコピー
経験則上のセキュリティ違反
STRING_SIZE
サイズ不定のバッファ
メモリー破損
121
OVERRUN
割り当てるサイズが不正
メモリー破損
122
OVERRUN
割り当てるサイズが不正
メモリー破損
INTEGER_OVERFLOW
オーバーフローした配列インデックスによる参照
オーバーフローしたポインタによる参照
125
メモリー不正アクセス
OVERRUN
OVERRUN_DYNAMIC
範囲外からの参照
OVERRUN_STATIC
NEGATIVE_RETURNS
REVERSE_NEGATIVE
129
負のインデックスによる配列要素の更新
メモリー破損
負のインデックスによる配列要素の参照
メモリー不正アクセス
負のインデックスによる配列要素の更新
メモリー破損
負のインデックスによる配列要素の参照
メモリー不正アクセス
信頼できない配列インデックスによる参照
TAINTED_SCALAR
信頼できない配列インデックスによる更新
信頼できないポインタによる参照
安全でないデータハンドリング
信頼できないポインタによる更新
BAD_ALLOC_STRLEN
文字列長の誤った算出
割り当てられるサイズが不一致
131
SIZECHECK
'&' によるサイズの指定
メモリー破損
不正な new 演算子
134
170
割り当てるサイズが不正
メモリー不正アクセス
PW.NON_CONST_PRINTF_FORMAT_
STRING
フォーマット文字が非コンスタント
経験則上のセキュリティ違反
TAINTED_STRING
フォーマット文字の脆弱性
安全でないデータハンドリング
TAINTED_STRING_WARNING
フォーマット文字の警告
経験則上のセキュリティ違反
Null ターミネートされていないバッファ
メモリー不正アクセス
BUFFER_SIZE
BUFFER_SIZE_WARNING
2
COVERITY COVERAGE FOR COMMON WEAKNESS ENUMERATION (CWE): C/C++
CWE ID
170
188
DATA SHEET
Coverity Static Analysis チェッカー
チェッカー定義
不具合のカテゴリー
READLINK
安全でない readlink の使用
メモリー不正アクセス
SIZECHECK
割り当てサイズが文字列に不十分
メモリー破損
STRING_NULL
NULL ターミネートしていない文字列
メモリー不正アクセス
INCOMPATIBLE_CAST
整数エンディアンネスへの依存
不適切な整数処理
整数オーバーフロー
INTEGER_OVERFLOW
引数の整数オーバーフロー
不適切な整数処理
戻り値によるオーバーフロー
190
定数によるオーバーフロー
OVERFLOW_BEFORE_WIDEN
意図しない整数オーバーフロー
不適切な整数処理
PW.INTEGER_OVERFLOW
PW.INTEGER_TOO_LARGE
整数オーバーフローの警告
PW.SHIFT_COUNT_TOO_LARGE
194
SIGN_EXTENSION
意図しない符号拡張
不適切な整数処理
195
MISRA_CAST
Misra キャスト違反
不適切な整数処理
CHAR_IO
stdio 戻り値のトランケート
API の誤使用
MISRA_CAST
整数型値の暗黙な型変換
不適切な整数処理
NO_EFFECT
フィルの切り詰め
メモリー不正アクセス
243
CHROOT
安全でない chroot
API の誤使用
248
UNCAUGHT_EXCEPT
キャッチされない例外
不適切なエラー処理
197
読み込んだバイト数を無視
戻り値が未確認
252
CHECKED_RETURN
引数として返る値が未確認
不適切なエラー処理
ライブラリからの戻り値が未確認
ユーザコードからの戻り値が未確認
253
BAD_COMPARE
memcmp 系関数の誤使用
API の誤使用
366
MISSING_LOCK
データに対する競合状態
データへの同時アクセス違反
367
TOCTOU
TOCTOU 攻撃
経験則上のセキュリティ違反
浮動少数の0によるモジュロまたは除算
不正な記述
369
377
DIVIDE_BY_ZERO
0 によるモジュロまたは除算
PW.DIVIDE_BY_ZERO
0 除算
SECURE_TEMP
安全でないテンポラリファイル
不適切な整数処理
経験則上のセキュリティ違反
3
COVERITY COVERAGE FOR COMMON WEAKNESS ENUMERATION (CWE): C/C++
CWE ID
394
Coverity Static Analysis チェッカー
DATA SHEET
チェッカー定義
不具合のカテゴリー
負の値の不適切な取り扱い
不適切な整数処理
NEGATIVE_RETURNS
REVERSE_NEGATIVE
COPY_PASTE_ERROR
コピーペーストエラー
ENUM_AS_BOOLEAN
enum の誤使用
異なる分岐に対する同一コード
IDENTICAL_BRANCHES
不正な記述
異なる else-if 分岐に対する同一コード
異なる case に対する同一コード
MISMATCHED_ITERATOR
398
MIXED_ENUMS
不正なイテレータの比較
enum の誤使用の可能性
enum 型の混在
NO_EFFECT
不適切な制御フロー
配列 0 との比較
不正な記述
無意味な式
400
401
404
415
416
PASS_BY_VALUE
大きなパラメータの値渡し
パフォーマンスの劣化
PW.*
構文解析時の警告
構文解析時の警告
VIRTUAL_DTOR
仮想デストラクタが空
コードメンテナンス性の劣化
STACK_USE
スタックを過度に使用
パフォーマンスの劣化
COM.BSTR.ALLOC.leak
COM BSTR メモリリーク
CTOR_DTOR_LEAK
オブジェクト内でのリソースリーク
NO_EFFECT
不完全な delete
SYMBIAN.CLEANUP_STACK.leak
Symbian - スタッククリーンアップでの
リーク
RESOURCE_LEAK
例外パス上のリソースリーク
例外のリソースリーク
リソースリーク
リソースリーク
SYMBIAN.CLEANUP_
STACK.double_free
Symbian - 2 重開放
USE_AFTER_FREE
2 重開放
COM.BAD_FREE
COM インターフェースの明示的な開放
COM.BSTR.ALLOC.double_free
COM BSTR の 2 重開放
COM.BSTR.ALLOC.free_uninit
未初期化の COM BSTR の開放
COM.BSTR.ALLOC.use_after_free
オーナーでない COM BSTR の開放
COM.BSTR.ALLOC.use_uninit
未初期化の COM BSTR の使用
開放されたポインタへの更新
USE_AFTER_FREE
リソースリーク
開放されたポインタへの参照
解放後の使用
メモリー破損
メモリー不正アクセス
メモリー破損
メモリー不正アクセス
4
COVERITY COVERAGE FOR COMMON WEAKNESS ENUMERATION (CWE): C/C++
CWE ID
Coverity Static Analysis チェッカー
チェッカー定義
解放後の更新(COM)
解放後の更新
416
WRAPPER_ESCAPE
DATA SHEET
不具合のカテゴリー
メモリー破損
解放後の使用(COM)
解放後の参照(COM)
解放後の参照
メモリー不正アクセス
ラッパーオブジェクトでの解放後の使用
456
NO_EFFECT
Memset のバッファサイズが 0
メモリー不正アクセス
PW.BRANCH_PAST_INITIALIZATION
初期化を迂回する分岐
不適切な制御フロー
未初期化のインデックスによる配列の更新
未初期化のポインタによる更新
UNINIT
未初期化のインデックスによる配列の参照
未初期化のポインタによる参照
457
未初期化のスカラー変数
未初期化の値の使用
メモリー破損
メモリー不正アクセス
変数の未初期化
メンバー変数の未初期化
UNINIT_CTOR
ポインタフィールドの未初期化
メンバーの未初期化
スカラー値の未初期化
スカラー配列への delete の使用
不正な配列の開放
459
DELETE_ARRAY
不正な delete 演算子
複数オブジェクトに対する配列でない delete
465
467
SYMBIAN.CLEANUP_STACK
Symbian - クリーンアップスタック関連バグ
NO_EFFECT
不正なポインタのインクリメント
BAD_SIZEOF
sizeof の不適切な使用
コンパイラ依存
メモリー不正アクセス
リソースリーク
不正な記述
不正な記述
ポインタへの Sizeof の利用
SIZEOF_MISMATCH
ポータブルでない Sizeof
コードメンテナンス性の劣化
NULL チェック後の間接参照
FORWARD_NULL
明示的な Null の間接参照
Null の間接参照
476
未確認のダイナミックキャスト
NULL_RETURNS
NULL ポインタの間接参照
NULL 戻り値の間接参照(統計)
NULL 戻り値の間接参照
REVERSE_INULL
NULL チェック以前の間接参照
5
COVERITY COVERAGE FOR COMMON WEAKNESS ENUMERATION (CWE): C/C++
CWE ID
Coverity Static Analysis チェッカー
チェッカー定義
DATA SHEET
不具合のカテゴリー
論理演算子とビット演算子の誤使用
480
CONSTANT_EXPRESSION_RESULT
疑わしい &= や |= の利用
不適切な整数処理
誤ったオペレータの使用
NO_EFFECT
コンマ (,) 演算子の誤った利用
不正な記述
481
PW.ASSIGN_WHERE_COMPARE_MEANT
比較を意図した代入
不正な記述
482
NO_EFFECT
483
NESTING_INDENT_MISMATCH
484
MISSING_BREAK
Switch ステートメントでの論理式
無意味な論理式
不正な記述
インデントがネストレベルに不一致
コードメンテナンス性の劣化
ネストレベルがインデントとミスマッチ
不適切な制御フロー
switch ステートメント内の break が欠如
不適切な制御フロー
論理的に到達できないコード
不適切な制御フロー
定数値によるデッドコードのガード
561
DEADCODE
switch 文内のデッドコード
switch 文の default に未到達
制御フローの問題の可能性
冗長なテスト
562
563
UNREACHABLE
構造的に到達できないコード
PW.RETURN_PTR_TO_LOCAL_TEMP
ポインタのテンポラリ変数への返却
RETURN_LOCAL
スコープ外のポインタ
UNUSED_VALUE
使用されないポインター値
使用されない値
無意味な文字列比較
不適切な制御フロー
メモリー不正アクセス
コードメンテナンス性の劣化
不正な記述
右辺と左辺が同一
CONSTANT_EXPRESSION_RESULT
0 とのビット単位の AND 演算
式の値が一定
不適切な整数処理
上位ビットが範囲外
569
結果に反映されないオペランド
不必要な sizeof
SIZEOF_MISMATCH
sizeof の不正使用
誤った size 引数
不正な記述
不正な sizeof の引数
6
COVERITY COVERAGE FOR COMMON WEAKNESS ENUMERATION (CWE): C/C++
CWE ID
Coverity Static Analysis チェッカー
NO_EFFECT
570
MISSING_RESTORE
573
チェッカー定義
不具合のカテゴリー
符号なしの値を 0 と比較
不適切な制御フロー
Enum 値の 0 との比較
Macro 内の 0 との比較
PW.UNSIGNED_COMPARE_WITH_
NEGATIVE
DATA SHEET
不適切な整数処理
符号なしの値と負値との比較
非ローカル値のリストア失敗
不適切な制御フロー
非ローカル値のリストア失敗の可能性
制御フローの問題の可能性
OPEN_ARGS
安全でないファイルパーミッション
VARARGS
varargs init または cleanup の欠如
API の誤使用
アドレス演算子に対する開放
先頭フィールドの開放
590
BAD_FREE
配列の解放
関数ポインタの解放
メモリー破損
不正なポインタ値の解放
スタック割り当てメモリの解放
597
BAD_COMPARE
文字リテラルとポインタの比較
不正な記述
NEGATIVE_RETURNS
ループ境界が負の値
プログラムのハングアップ
TAINTED_SCALAR
信頼できないループ境界値
安全でないデータハンドリング
LOCK
ロックアサーションの失敗
API の誤使用
BAD_COMPARE
関数ポインタの比較
不正な記述
PW.BAD_PRINTF_FORMAT_STRING
Printf フォーマット文字が不適切
API の誤使用
633
COM.BSTR.ALLOC
COM BSTR エラー
メモリー不正アクセス
662
ATOMICITY
アトミックでない値の更新
データへの同時アクセス違反
665
自己代入
不正な記述
NO_EFFECT
Memset のフィル値が '0'
メモリー不正アクセス
606
617
628
2 重ロックまたはアンロックの欠如
667
LOCK
アンロックの欠如
lock, unlock の過不足
SLEEP
ロックを保持した待ち状態
670
STRAY_SEMICOLON
彷徨うセミコロン
672
USE_AFTER_FREE
676
SECURE_CODING
2 重クローズ
クローズ後の使用
リスクの高い関数呼び出し
プログラムのハングアップ
不適切な制御フロー
API の誤使用
経験則上のセキュリティ違反
7
COVERITY COVERAGE FOR COMMON WEAKNESS ENUMERATION (CWE): C/C++
CWE ID
Coverity Static Analysis チェッカー
チェッカー定義
DATA SHEET
不具合のカテゴリー
浮動小数点型値への暗黙な型変換
681
浮動小数点型値の暗黙な型変換
MISRA_CAST
整数型値の暗黙な型変換
不適切な整数処理
Misra キャスト違反
683
685
SWAPPED_ARGUMENTS
誤った順序の引数
API の誤使用
Printf の引数の数が不適当
API の誤使用
PW.TOO_FEW_PRINTF_ARGS
PW.TOO_MANY_PRINTF_ARGS
686
PW.PRINTF_ARG_MISMATCH
Printf の引数の数が不適当
API の誤使用
687
NEGATIVE_RETURNS
非負の引数
不適切なエラー処理
INCOMPATIBLE_CAST
互換性のないキャスト
互換性のないポインタのキャスト
704
PW.CONVERSION_TO_POINTER_
LOSES_BITS
ASSIGN_NOT_RETURNING_STAR_THIS
710
不適切な整数処理
PW.BAD_CAST
整数からポインタへのキャスト
this を返さない代入
規約違反
厳密な規約違反
BAD_OVERRIDE
メソッドのオーバーライド失敗
クラス階層の一貫性欠如
COPY_WITHOUT_ASSIGN
代入のないコピー
規約違反
HFA
不必要なヘッダーファイル
ビルドの問題
MISSING_ASSIGN
代入演算子の欠如
MISSING_COPY
コピーコンストラクタの欠如
複数の return ステートメント
MISSING_RETURN
Reurn ステートメントの欠如
複数 return ステートメントの欠如
規約違反
コードメンテナンス性の劣化
変数の未初期化
SELF_ASSIGN
安全でない代入オペレータ
規約違反
DELETE_VOID
void ポインタの削除
メモリー不正アクセス
EVALUATION_ORDER
評価順序違反
不正な記述
762
ALLOC_FREE_MISMATCH
不正なデアロケータの使用
API の誤使用
764
LOCK
2 重ロック
プログラムのハングアップ
772
VIRTUAL_DTOR
非仮想デストラクタ
リソースリーク
775
RESOURCE_LEAK
整数ハンドルまたは fd リーク
リソースリーク
758
783
833
CONSTANT_EXPRESSION_RESULT
SIZEOF_MISMATCH
ORDER_REVERSAL
括弧の欠如
スレッドのデッドロック
不正な記述
メモリー不正アクセス
プログラムのハングアップ
8
COVERITY COVERAGE FOR COMMON WEAKNESS ENUMERATION (CWE): C/C++
CWE ID
Coverity Static Analysis チェッカー
835
INFINITE_LOOP
チェッカー定義
無限ループ
exit なしの無限ループ
DATA SHEET
不具合のカテゴリー
プログラムのハングアップ
アサーション内の関数
ASSERT_SIDE_EFFECT
アサーションによる副作用
不正な記述
BAD_COMPARE
NULL に対する非等値比較
BAD_SHIFT
不正なビットシフト操作
不適切な整数処理
BUFFER_SIZE
メモリコピー時のバッファオーバーラップ
API の誤使用
COM.ADDROF_LEAK
マネージドポインタの上書き
リソースリーク
COM.BSTR.BAD_COMPARE
不正な COM BSTR 比較
COM.BSTR.NE_NON_BSTR
非 BSTR と COM BSTR との不等比較
COPY_WITHOUT_ASSIGN
代入のないコピー
規約違反
呼出し禁止
経験則上のセキュリティ違反
MISSING_COMMA
文字配列初期化時のコンマの欠如
不正な記述
PARSE_ERROR
リカバリー不可の構文解析時の警告
構文解析時の警告
PW.EXPR_HAS_NO_EFFECT
無意味な式
不正な記述
PW.INCLUDE_RECURSION
ヘッダファイルの再帰的インクルード
ビルドシステムの問題
READONLY_BUFFER
読取り専用バッファの変更
メモリー破壊
RW.*
セマンティックに関する警告
構文解析時の警告
API の誤使用
DC.STREAM_BUFFER
DC.STRING_BUFFER
DC.WEAK_CRYPTO
None
ostream フォーマットの未リストア
STREAM_FORMAT_STATE
Stream フォーマットの状態エラー
API の誤使用
setf で認識されないマスク値
SW.*
セマンティックに関する警告
SYMBIAN.CLEANUP_STACK.bad_
pop_arg
Symbian - 誤ったオブジェクトのポップ操作
SYMBIAN.CLEANUP_STACK.
multiple_pushes
Symbian - 複数のプッシュ操作
SYMBIAN.NAMING
Symbian - 命名規約違反
SYMBIAN.NAMING.naming_L
Symbian - L サフィックスの欠落
SYMBIAN.NAMING.naming_LC
Symbian - LC サフィックスの欠落
構文解析時の警告
API の誤使用
コードメンテナンス性の問題
9
COVERITY COVERAGE FOR COMMON WEAKNESS ENUMERATION (CWE): C/C++
CWE ID
Coverity Static Analysis チェッカー
チェッカー定義
DATA SHEET
不具合のカテゴリー
不十分なファイルカバレッジ
不十分な関数カバレッジ
None
TA
テストポリシー違反
テストアドバイザの問題
呼ばれていない関数
カバーされていない関数
UNINTENDED_INTEGER_DIVISION
浮動小数点ではない結果
不正な記述
コベリティジャパン株式会社
〒163-0509 東京都新宿区西新宿1-26-2 新宿野村ビル 9階
TEL: 03-5909-8838 Email: [email protected]
Website: http://www.coverity.com/html_ja/
無料トライアル:http://www.coverity.com/html_ ja/ にて
「無料トライアル」
を選択
©2014 Coverity, Inc. All rights reserved.(不許複製・禁無断転載)Coverity、Coverityロゴ 、Coverity SAVE は米国およびその他の国における
登録商標です。その他の製品及び会社名は、該当する各社の商標、
または登録商標です。
201407-02