(CWE): C/C++

DATA SHEET
Coverity Coverage For Common Weakness
Enumeration (CWE): C/C++
Coverity SAVE® Static Analysis Verification Engine version 6.6 および CWE version 2.2
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
不正なイテレータの使用
API の誤使用
MISMATCHED_ITERATOR
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_SIZE
INTEGER_OVERFLOW
125
メモリ - 破損
コピー先バッファのサイズが不十分
固定長バッファへのコピー
経験則上のセキュリティ違反
サイズ不定のバッファ
メモリ - 破損
オーバーフローした
配列インデックスによる参照
オーバーフローしたポインタによる参照
OVERRUN
OVERRUN_DYNAMIC
経験則上のセキュリティ違反
割り当てサイズが該当する型に不十分
バッファオーバーフロー
STRING_OVERFLOW
DATA SHEET
メモリ - 不正アクセス
範囲外からの参照
OVERRUN_STATIC
NEGATIVE_RETURNS
REVERSE_NEGATIVE
129
負のインデックスによる配列要素の更新
メモリ - 破損
負のインデックスによる配列要素の参照
メモリ - 不正アクセス
負のインデックスによる配列要素の更新
メモリ - 破損
負のインデックスによる配列要素の参照
メモリ - 不正アクセス
信頼できない配列インデックスによる参照
TAINTED_SCALAR
信頼できない配列インデックスによる更新
信頼できないポインタによる参照
安全でないデータハンドリング
信頼できないポインタによる更新
BAD_ALLOC_STRLEN
文字列長の誤った算出
'&'によるサイズの指定
131
SIZECHECK
割り当てるサイズが不正
不正な new 演算子
割り当てられるサイズが不一致
134
メモリ - 破損
メモリ - 不正アクセス
メモリ - 破損
PW.NON_CONST_PRINTF_FORMAT_
STRING
フォーマット文字が非コンスタント
経験則上のセキュリティ違反
TAINTED_STRING
フォーマット文字の脆弱性
安全でないデータハンドリング
TAINTED_STRING_WARNING
フォーマット文字の警告
経験則上のセキュリティ違反
2
Coverity Coverage for Common Weakness Enumeration (CWE): C/C++
CWE ID
Coverity Static Analysis チェッカー
BUFFER_SIZE
BUFFER_SIZE_WARNING
170
188
チェッカー定義
NULL ターミネートされていないバッファ
DATA SHEET
不具合のカテゴリー
メモリ - 不正アクセス
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 キャスト違反
不適切な整数処理
MISRA_CAST
整数型値の暗黙な型変換
不適切な整数処理
NO_EFFECT
フィル値の切り詰め
メモリ - 不正アクセス
234
VARARGS
Varargs の不正使用
API の誤使用
243
CHROOT
安全でない chroot
API の誤使用
248
UNCAUGHT_EXCEPT
キャッチされない例外
不適切なエラー処理
197
読み込んだバイト数を無視
戻り値が未確認
252
CHECKED_RETURN
引数として返る値が未確認
不適切なエラー処理
ライブラリからの戻り値が未確認
ユーザコードからの戻り値が未確認
253
BAD_COMPARE
memcmp 系関数の誤使用
API の誤使用
366
MISSING_LOCK
データに対する競合状態
データへの同時アクセス違反
367
TOCTOU
TOCTOU 攻撃
経験則上のセキュリティ違反
PW.DIVIDE_BY_ZERO
0 除算
DIVIDE_BY_ZERO
0によるモジュロまたは除算
SECURE_TEMP
安全でないテンポラリファイル
369
377
不適切な整数処理
経験則上のセキュリティ違反
3
Coverity Coverage for Common Weakness Enumeration (CWE): C/C++
CWE ID
394
Coverity Static Analysis チェッカー
チェッカー定義
不具合のカテゴリー
CHAR_IO
Stdio 関数戻り値のトランケート
API の誤使用
負の値の不適切な取り扱い
不適切な整数処理
COPY_PASTE_ERROR
コピーペーストエラー
不正な記述
MISMATCHED_ITERATOR
不正なイテレータの比較
不適切な制御フロー
NEGATIVE_RETURNS
REVERSE_NEGATIVE
398
400
401
404
415
DATA SHEET
NO_EFFECT
配列の 0 との比較
無意味な式
不正な記述
PW.*
構文解析時の警告
構文解析時の警告
STRAY_SEMICOLON
彷徨うセミコロン
不適切な制御フロー
VIRTUAL_DTOR
仮想デストラクタが空
コードメンテナンス性の劣化
STACK_USE
スタックを過度に使用
パフォーマンスの劣化
COM.BSTR.ALLOC.leak
COM BSTR メモリリーク
CTOR_DTOR_LEAK
オブジェクト内のリソースリーク
NO_EFFECT
不完全な delete
SYMBIAN.CLEANUP_STACK
Symbian - スタッククリーンアップでのリーク
ALLOC_FREE_MISMATCH
謝ったデアロケータの使用
API の誤使用
リソースリーク
リソースリーク
例外パス上のリソースリーク
例外のリソースリーク
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 の使用
リソースリーク
メモリ - 破損
メモリ - 不正アクセス
解放されたポインタへの参照
416
USE_AFTER_FREE
解放されたポインタへの更新
メモリ - 破損
解放後の使用
メモリ - 不正アクセス
解放後の更新(COM)
解放後の更新
WRAPPER_ESCAPE
メモリ - 破損
解放後の使用(COM)
解放後の参照(COM)
解放後の参照
ラッパーオブジェクトでの解放後の使用
メモリ - 不正アクセス
4
Coverity Coverage for Common Weakness Enumeration (CWE): C/C++
DATA SHEET
CWE ID
Coverity Static Analysis チェッカー
チェッカー定義
不具合のカテゴリー
456
NO_EFFECT
Memset のバッファサイズが 0
メモリ - 不正アクセス
PW.BRANCH_PAST_INITIALIZATION
初期化を迂回する分岐
不適切な制御フロー
未初期化のインデックスによる配列の更新
未初期化のポインタによる更新
UNINIT
457
未初期化のインデックスによる配列の参照
未初期化のポインタによる参照
未初期化のスカラー変数
未初期化の値の使用
メモリ - 破損
メモリ - 不正アクセス
変数の未初期化
メンバー変数の未初期化
UNINIT_CTOR
ポインタフィールドの未初期化
メンバーの未初期化
スカラー値の未初期化
不正な配列の解放
DELETE_ARRAY
459
465
467
不正な delete 演算子
メモリ - 不正アクセス
スカラー配列への delete の使用
スカラー配列への delete の使用
リソースリーク
DELETE_VOID
Void ポインタの解放
メモリ - 不正アクセス
SYMBIAN.CLEANUP_STACK
Symbian - クリーンアップスタック関連バグ
リソースリーク
NO_EFFECT
不正なポインタのインクリメント
不正な記述
BAD_SIZEOF
SIZEOF_MISMATCH
Sizeof の不適切な使用
ポインタへの Sizeof の利用
ポータブルでない sizeof
不正な記述
コードメンテナンス性の劣化
NULL チェック後の間接参照
FORWARD_NULL
476
明示的な NULL の間接参照
NULL の間接参照
未確認のダイナミックキャスト
NULL_RETURNS
REVERSE_INULL
NULL ポインタの間接参照
NULL 戻り値の間接参照
NULL 戻り値の間接参照 (統計)
NULL チェック以前の間接参照
論理演算子とビット演算子の誤使用
480
CONSTANT_EXPRESSION_RESULT
疑わしい &= や |= の利用
不適切な整数処理
誤ったオペレータの使用
NO_EFFECT
コンマ(,)演算子の誤った利用
不正な記述
5
Coverity Coverage for Common Weakness Enumeration (CWE): C/C++
DATA SHEET
CWE ID
Coverity Static Analysis チェッカー
チェッカー定義
不具合のカテゴリー
481
PW.ASSIGN_WHERE_
COMPARE_MEANT
比較を意図した代入
不正な記述
482
NO_EFFECT
484
MISSING_BREAK
Switch ステートメントでの論理式
無意味な論理式
Switch ステートメント内の break が欠如
不正な記述
不適切な制御フロー
Switch 文内のデッドコード
561
DEADCODE
Switch 文の default に未到達
論理的に到達できないコード
不適切な制御フロー
冗長なテスト
562
563
UNREACHABLE
構造的に到達できないコード
PW.RETURN_PTR_TO_LOCAL_TEMP
ポインタのテンポラリ変数への返却
RETURN_LOCAL
スコープ外のポインタ
UNUSED_VALUE
使用されないポインター値
右辺と左辺が同一
無意味な文字列比較
CONSTANT_EXPRESSION_RESULT
コードメンテナンス性の劣化
不正な記述
0 とのビット単位の AND 演算
式の値が一定
上位ビットが範囲外
569
メモリ - 不正アクセス
不適切な整数処理
式の値が一定
ENUM_AS_BOOLEAN
Enum の誤使用
不必要な Sizeof
SIZEOF_MISMATCH
Sizeof の不正使用
不正な記述
不正な Sizeof の引数
誤った size 引数
符号なしの値を 0 と比較
570
NO_EFFECT
Enum 値の 0 との比較
マクロ内の 0 との比較
PW.UNSIGNED_COMPARE_
WITH_NEGATIVE
不適切な制御フロー
不適切な整数処理
符号なしの値と負値との比較
アドレス演算子に対する解放
先頭フィールドの解放
590
BAD_FREE
配列の解放
関数ポインタの解放
メモリ - 破損
不正なポインタ値の解放
スタック割り当てメモリの解放
6
Coverity Coverage for Common Weakness Enumeration (CWE): C/C++
DATA SHEET
CWE ID
Coverity Static Analysis チェッカー
チェッカー定義
不具合のカテゴリー
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
アンロックの欠如
2重ロックまたはアンロックの欠如
SLEEP
672
USE_AFTER_FREE
676
SECURE_CODING
プログラムのハングアップ
ロックを保持した待ち状態
2重クローズ
クローズ後の使用
リスクの高い関数呼び出し
API の誤使用
経験則上のセキュリティ違反
浮動小数点型値への暗黙な型変換
681
MISRA_CAST
浮動小数点型値の暗黙な型変換
整数型値の暗黙な型変換
不適切な整数処理
Misra キャスト違反
683
685
686
687
SWAPPED_ARGUMENTS
誤った順序の引数
API の誤使用
Printf の引数の数が不適当
API の誤使用
PW.PRINTF_ARG_MISMATCH
Printf の引数の型が不適当
API の誤使用
NEGATIVE_RETURNS
非負の引数
不適切なエラー処理
OPEN_ARGS
安全でないファイルアクセス権限
API の誤使用
PW.TOO_FEW_PRINTF_ARGS
PW.TOO_MANY_PRINTF_ARGS
INCOMPATIBLE_CAST
704
互換性のないキャスト
互換性のないポインタのキャスト
不適切な整数処理
PW.BAD_CAST
PW.CONVERSION_TO_POINTER_
LOSES_BITS
整数からポインタへのキャスト
7
Coverity Coverage for Common Weakness Enumeration (CWE): C/C++
DATA SHEET
CWE ID
Coverity Static Analysis チェッカー
チェッカー定義
不具合のカテゴリー
764
LOCK
2重ロック
プログラムのハングアップ
772
VIRTUAL_DTOR
非仮想デストラクタ
リソースリーク
775
RESOURCE_LEAK
整数ハンドルまたは fd リーク
リソースリーク
783
CONSTANT_EXPRESSION_RESULT
SIZEOF_MISMATCH
833
ORDER_REVERSAL
835
INFINITE_LOOP
ASSERT_SIDE_EFFECT
NONE
括弧の欠如
スレッドのデッドロック
無限ループ
出口のない無限ループ
アサーションによる副作用
アサーションによる副作用
不正な記述
メモリ - 不正アクセス
プログラムのハングアップ
プログラムのハングアップ
不正な記述
規約違反
ASSIGN_NOT_RETURNING_STAR_THIS
*this を返さない代入
BAD_COMPARE
NULL との不等比較
不正な記述
BAD_OVERRIDE
メソッドのオーバーライド失敗
クラス階層の一貫性欠如
COM.BSTR.BAD_COMPARE
不正な COM BSTR 比較
COM.BSTR.NE_NON_BSTR
非 BSTR と COM BSTR との不等比較
COM.ADDROF_LEAK
マネージドポインタの上書き
リソースリーク
COPY_WITHOUT_ASSIGN
代入のないコピー
規約違反
EVALUATION_ORDER
評価順序違反
不正な記述
HFA
不必要なヘッダーファイル
ビルドの問題
MISSING_ASSIGN
代入演算子の欠如
MISSING_COPY
コピーコンストラクタの欠如
複数の return ステートメント
MISSING_RETURN
Return ステートメントの欠如
Return ステートメントの欠如または複数
return ステートメントの存在
MISSING_RESTORE
MIXED_ENUMS
厳密な規約違反
API の誤使用
規約違反
コードメンテナンス性の劣化
変数の未初期化
非ローカル値のリストア失敗
不適切な制御フロー
非ローカル値のリストア失敗の可能性
不適切な制御フローの可能性
Enum の誤使用の可能性
Enum 型が混在
不正な記述
NESTING_INDENT_MISMATCH
インデントにマッチしないネストレベル
不適切な制御フロー
PARSE_ERROR
リカバリ不可の構文解析時の警告
警告
PASS_BY_VALUE
大きなパラメータの値渡し
パフォーマンスの劣化
PW.EXPR_HAS_NO_EFFECT
無意味な式
不正な記述
8
Coverity Coverage for Common Weakness Enumeration (CWE): C/C++
CWE ID
DATA SHEET
Coverity Static Analysis チェッカー
チェッカー定義
不具合のカテゴリー
PW.INCLUDE_RECURSION
ヘッダファイルの再帰的インクルード
ビルドの問題
READONLY_BUFFER
読取り専用バッファの変更
メモリ - 破損
RW.*
リカバリー警告
警告
SELF_ASSIGN
安全でない代入オペレータ
規約違反
Ostream フォーマットの未リストア
STREAM_FORMAT_STATE
Ostream フォーマットの未リストア
API の誤使用
Setf で認識されないマスク値
NONE
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 の誤使用
コードメンテナンス性の劣化
不十分なファイルカバレッジ
不十分な関数カバレッジ
TA
テストポリシー違反
テストアドバイザの問題
呼出されない関数
カバーされていない関数
Website: http://www.coverity.com/html_ja/
無料トライアル:http://softwareintegrity.coverity.com/request-a-free-trial-cov-jp.html
©2013 Coverity, Inc. All rights reserved.(不許複製・禁無断転載)Coverity、Coverityロゴ 、Coverity SAVE は米国およびその他の国における
登録商標です。その他の製品及び会社名は、該当する各社の商標、
または登録商標です。