このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Bug Finder 欠陥グループおよび欠陥チェッカーの短い名前
欠陥をコード注釈で正当化するには、Bug Finder 欠陥チェッカーの短い名前に示すチェッカー コマンド ライン名 (短い名前) を使用します。
チェッカーの短い名前を -checkers
オプションの引数として使用することで、特定の欠陥の検出を有効にすることもできます。個々の欠陥をリストする代わりに、numerical
、data_flow
などのグループ名によって欠陥のグループを指定します。
欠陥の検出 (-checkers)
およびBug Finder 欠陥グループを参照してください。
Bug Finder 欠陥グループの短い名前
欠陥グループ | コマンド ライン パラメーター |
---|---|
C++ の例外の欠陥 | cpp_exceptions |
同時実行の欠陥 | concurrency |
暗号化の欠陥 | cryptography |
データ フローの欠陥 | data_flow |
動的メモリの欠陥 | dynamic_memory |
適切な手法の欠陥 | good_practice |
数値的欠陥 | numerical |
オブジェクト指向の欠陥 | object_oriented |
パフォーマンスの欠陥 | performance |
プログラミングの欠陥 | programming |
リソース管理の欠陥 | resource_management |
静的メモリの欠陥 | static_memory |
セキュリティの欠陥 | security |
汚染されたデータの欠陥 | tainted_data |
Bug Finder 欠陥チェッカーの短い名前
欠陥 | コマンド ライン名 |
---|---|
*this はコピー代入演算子に返されません | RETURN_NOT_REF_TO_THIS |
終了ハンドラーが異常終了しました | EXIT_ABNORMAL_HANDLER |
浮動小数点オペランドの統合 | FLOAT_ABSORPTION |
有効期間が一時的なオブジェクトにアクセスしています | TEMP_OBJECT_ACCESS |
メモリの再割り当て後に変更されたアライメント | ALIGNMENT_CHANGE |
フラッシュまたは位置付け呼び出しなしでのストリームからの入出力の交互実行 | IO_INTERLEAVING |
不明瞭な宣言の構文 | MOST_VEXING_PARSE |
移動操作によってスローされる可能性があります | MOVE_OPERATION_MAY_THROW |
NULL ポインターを使用した算術演算 | NULL_PTR_ARITH |
配列が範囲外にアクセス | OUT_BOUND_ARRAY |
汚染されたインデックスによる配列へのアクセス | TAINTED_ARRAY_INDEX |
アサーション | ASSERT |
非同期にキャンセル可能なスレッド | ASYNCHRONOUSLY_CANCELLABLE_THREAD |
アトミックな読み込みと保存のシーケンスがアトミックではありません | ATOMIC_VAR_SEQUENCE_NOT_ATOMIC |
式の中でアトミック変数へのアクセスが 2 回行われています | ATOMIC_VAR_ACCESS_TWICE |
スレッドからエスケープする自動変数またはスレッド ローカル変数 | LOCAL_ADDR_ESCAPE_THREAD |
ファイル アクセス モードまたはステータスが不適切です | BAD_FILE_ACCESS_MODE_STATUS |
権限を削除する順序が正しくありません | BAD_PRIVILEGE_DROP_ORDER |
基底クラスの代入演算子が呼び出されていません | MISSING_BASE_ASSIGN_OP_CALL |
基底クラス デストラクターが非バーチャルです | DTOR_NOT_VIRTUAL |
同じデータに対してビット演算と算術演算が行われています | BITWISE_ARITH_MIX |
負値でのビット演算です | BITWISE_NEG |
ロック保持中のブロック操作 | BLOCKING_WHILE_LOCKED |
不正確な文字列形式指定子によるバッファー オーバーフロー | STR_FORMAT_BUFFER_OVERFLOW |
非トリビアルなクラス オブジェクトのバイト演算 | MEMOP_ON_NONTRIVIAL_OBJ |
const 修飾子付きの型と後続の変更への C++ 参照 | WRITE_REFERENCE_TO_CONST_TYPE |
const 修飾子または volatile 修飾子付きの C++ の参照型 | CV_QUALIFIED_REFERENCE_TYPE |
プロトタイプのない関数ポインターによる呼び出し | UNPROTOTYPED_FUNC_CALL |
意図しない値をもつ memset の呼び出しです | MEMSET_INVALID_VALUE |
文字の値が EOF に吸収 | CHAR_EOF_CONFUSED |
以前に閉じられたリソースを閉じています | DOUBLE_RESOURCE_CLOSE |
条件が常に false であるために非アクティブにされたコード | DEACTIVATED_CODE |
外部制御されるパスから実行されたコマンド | TAINTED_PATH_CMD |
定数のブロック暗号初期化ベクトル | CRYPTO_CIPHER_CONSTANT_IV |
定数の暗号キー | CRYPTO_CIPHER_CONSTANT_KEY |
const のパラメーター値によって不要なデータ コピーが生じることがあります | CONST_PARAMETER_VALUE |
const の戻り値によって不要なデータ コピーが生じることがあります | CONST_RETURN_VALUE |
const rvalue 参照パラメーターにより、不要なデータ コピーが発生する可能性があります | CONST_RVALUE_REFERENCE_PARAMETER |
const std::move の入力により、オブジェクト コピーの計算量が増える場合があります | EXPENSIVE_STD_MOVE_CONST_OBJECT |
コンテキストが暗号化操作用に正しく初期化されていません | CRYPTO_PKEY_INCORRECT_INIT |
コンテキストがダイジェスト操作用に正しく初期化されていません | CRYPTO_MD_BAD_FUNCTION |
不完全なクラス ポインターの変換または削除 | INCOMPLETE_CLASS_PTR |
コピー コンストラクターが初期化リストで呼び出されていません | MISSING_COPY_CTOR_CALL |
オーバーラップするメモリのコピーです | OVERLAPPING_COPY |
ソース オペランドを変更するコピー操作 | COPY_MODIFYING_SOURCE |
クリティカルなデータ メンバーがプライベートではありません | CRITICAL_DATA_MEMBER_DECLARED_PUBLIC |
string::c_str() から得られた C 文字列はポインターと比較されます | STD_STRING_C_STR_COMPARED_TO_POINTER |
データ レース | DATA_RACE |
隣接するビット フィールドでのデータ レース | DATA_RACE_BIT_FIELDS |
標準ライブラリ関数呼び出しでデータ レースが発生しました | DATA_RACE_STD_LIB |
デッド コード | DEAD_CODE |
Deadlock | DEADLOCK |
以前に割り当て解除したポインターの解放 | DOUBLE_DEALLOCATION |
宣言の不一致 | DECL_MISMATCH |
汎用の例外に対するキャッチの宣言 | CATCH_FOR_GENERIC_EXCEPTION |
汎用の例外に対するスローの宣言 | THROW_FOR_GENERIC_EXCEPTION |
void ポインターが削除されています | DELETE_OF_VOID_PTR |
文字列操作で格納先バッファーがオーバーフローしています | STRLIB_BUFFER_OVERFLOW |
文字列操作で格納先バッファーがアンダーフローしています | STRLIB_BUFFER_UNDERFLOW |
ロックされたミューテックスの破棄 | DESTROY_LOCKED |
定数シードからの確定的な乱数出力です | RAND_SEED_CONSTANT |
ダブル ロック | DOUBLE_LOCK |
ロック解除が重複しています | DOUBLE_UNLOCK |
重複しているコード | DUPLICATED_CODE |
空のデストラクターによって不要なデータ コピーが生じることがあります | EMPTY_DESTRUCTOR_DEFINED |
前の操作によって無効になった環境ポインター | INVALID_ENV_POINTER |
errno の未チェック | ERRNO_NOT_CHECKED |
errno がリセットされていません | MISSING_ERRNO_RESET |
例外が値によってキャッチされました | EXCP_CAUGHT_BY_VALUE |
前のハンドラーによって隠された例外ハンドラーです | EXCP_HANDLER_HIDDEN |
相対パスからバイナリを実行すると、外部アクターの制御を受ける可能性があります | RELATIVE_PATH_CMD |
外部制御されるコマンドの実行 | TAINTED_EXTERNAL_CMD |
計算量の多いメンバー初期化 | EXPENSIVE_MEMBER_INITIALIZATION |
std::function の計算量の多い型定義 | EXPENSIVE_STD_FUNCTION |
計算量の多い未使用オブジェクト | EXPENSIVE_UNUSED_OBJECT |
セットの代わりに計算量の多いマップを使用 | EXPENSIVE_USE_OF_MAP_INSTEAD_OF_SET |
計算量の多い std::any_cast の使用 | EXPENSIVE_ANY_CAST |
ループ内の計算量の多い代入 | EXPENSIVE_ALLOC_IN_LOOP |
計算量の多い定数 std::string 構成 | EXPENSIVE_CONSTANT_STD_STRING |
範囲ベースの for ループの反復における計算量の多いコピー | EXPENSIVE_RANGE_BASED_FOR_LOOP_ITERATION |
計算量の多い dynamic_cast | EXPENSIVE_DYNAMIC_CAST |
計算量の多いローカル変数のコピーです | EXPENSIVE_LOCAL_VARIABLE |
計算量の多い論理演算です | EXPENSIVE_LOGICAL_OPERATION |
計算量の多い値渡し | EXPENSIVE_PASS_BY_VALUE |
計算量の多い後置インクリメント演算 | EXPENSIVE_POST_INCREMENT |
計算量の多い値返し | EXPENSIVE_RETURN_BY_VALUE |
不要な std::move を原因とする計算量の多い戻り値 | EXPENSIVE_RETURN_STD_MOVE |
計算量の多い const オブジェクトの戻り値 | EXPENSIVE_RETURN_CONST_OBJECT |
計算量の多い標準アルゴリズムを使用していますが、より効率的な方法があります | EXPENSIVE_USE_OF_STD_ALGORITHM |
計算量の多いコンテナーのカウント方法を使用 | EXPENSIVE_CONTAINER_COUNT |
計算量の多いコンテナーの挿入メソッドを使用 | EXPENSIVE_CONTAINER_INSERTION |
計算量の多い、コンテナーの size メソッドの使用 | EXPENSIVE_CONTAINER_EMPTINESS_CHECK |
計算量の多いマップの大かっこ演算子を使用して、値を挿入または代入 | EXPENSIVE_MAP_INSERT_OR_ASSIGN |
単純な追加の代わりに、計算量の多い std::string の非メンバー演算子 +() が使用されています | EXPENSIVE_STD_STRING_APPEND |
より効率的なオーバーロードの代わりに、計算量の多い std::string のメソッドを使用 | EXPENSIVE_USE_OF_STD_STRING_METHODS |
空の文字列リテラルに対して計算量の多い std::string を使用 | UNNECESSARY_EMPTY_STRING_LITERAL |
C 標準ライブラリから計算量の多い文字列関数を使用 | EXPENSIVE_USE_OF_C_STRING_API |
std::string の短縮に計算量の多い substr() を使用 | EXPENSIVE_STD_STRING_RESIZE |
チェック時と使用時 (TOCTOU) の間のファイル アクセス | TOCTOU |
子プロセスに対するファイル記述子の公開 | FILE_EXPOSURE_TO_CHILD |
ファイルがコンパイルされません | file_does_not_compile |
chroot() の後に chdir("/") を実行せずにファイルが操作されました | CHROOT_MISUSE |
浮動小数点変換のオーバーフロー | FLOAT_CONV_OVFL |
浮動小数点数のゼロ除算 | FLOAT_ZERO_DIV |
等号演算子による浮動小数点の比較 | BAD_FLOAT_OP |
浮動小数点のオーバーフロー | FLOAT_OVFL |
書式文字列指定子と引数の不一致 | STRING_FORMAT |
非同期安全ではない信号ハンドラーから呼び出された関数 | SIG_HANDLER_ASYNC_UNSAFE |
非同期安全ではない信号ハンドラーから呼び出された関数 (厳密) | SIG_HANDLER_ASYNC_UNSAFE_STRICT |
関数ポインターに絶対アドレスが割り当てられています | FUNC_PTR_ABSOLUTE_ADDR |
誤って失敗する可能性のある関数はループでラップされません | SPURIOUS_FAILURE_NOT_WRAPPED_IN_LOOP |
誤って起動する可能性のある関数はループでラップされません | SPURIOUS_WAKEUP_NOT_WRAPPED_IN_LOOP |
バッファー サイズがハードコードされています | HARD_CODED_BUFFER_SIZE |
ループ境界がハード コードされています | HARD_CODED_LOOP_BOUNDARY |
メモリの操作に使用するオブジェクトのサイズがハードコードされています | HARD_CODED_MEM_SIZE |
ハードコードされた機密データ | HARD_CODED_SENSITIVE_DATA |
外部で制御される要素を使用したホストの変更 | TAINTED_HOSTID |
配列の初期化が不適切です | IMPROPER_ARRAY_INIT |
非プロパーな erase-remove の用法 | STD_REMOVE_WITHOUT_ERASE |
デバイス ファイルの I/O 動作が不適切です | INAPPROPRIATE_IO_ON_DEVICE |
RSA アルゴリズム演算のパディングに互換性がありません | CRYPTO_RSA_BAD_PADDING |
型に互換性がないためオーバーライドされません | VIRTUAL_FUNC_HIDING |
不整合な暗号操作 | CRYPTO_CIPHER_BAD_FUNCTION |
無効なデータ型が va_arg に渡されました | VA_ARG_INCORRECT_TYPE |
暗号化アルゴリズムのキーが正しくありません | CRYPTO_PKEY_INCORRECT_KEY |
ステートメントのインデントが正しくありません | INCORRECT_INDENTATION |
ネットワーク接続操作の順序が正しくありません | BAD_NETWORK_CONNECT_ORDER |
誤ったテストの登録または定義 | PSTUNIT_MISUSE_REGISTRATION |
モッキング API の誤った使用 | PSTUNIT_MISUSE_MOCKING |
テスト フィクスチャの誤った使用 | PSTUNIT_MISUSE_FIXTURES |
テストのセットアップまたは破棄の API の誤った使用 | PSTUNIT_MISUSE_SETUP_TEARDOWN |
Incorrect pointer scaling | BAD_PTR_SCALING |
フレキシブル配列メンバー サイズの構文が正しくありません | FLEXIBLE_ARRAY_MEMBER_INCORRECT_SIZE |
va_start に渡された不正な型のデータ | VA_START_INCORRECT_TYPE |
C++ の offsetof の誤った使用 | OFFSETOF_MISUSE |
va_start の誤った使用 | VA_START_MISUSE |
不適切な値の転送 | INCORRECT_VALUE_FORWARDING |
string 長の計算が非効率的です | INEFFICIENT_BASIC_STRING_LENGTH |
非効率的な for ループの使用 | PREFER_RANGE_BASED_FOR_LOOPS |
sprintf の使用が非効率的です | inefficient_sprintf |
無限ループ | INFINITE_LOOP |
構造体のパディングによる情報漏洩 | PADDING_INFO_LEAK |
インライン制約が守られていません | INLINE_CONSTRAINT_NOT_RESPECTED |
整数定数のオーバーフロー | INT_CONSTANT_OVFL |
整数変換のオーバーフロー | INT_CONV_OVFL |
整数のゼロ除算 | INT_ZERO_DIV |
整数のオーバーフロー | INT_OVFL |
整数の精度を超過しました | INT_PRECISION_EXCEEDED |
メモリ編成の前提条件が無効です | INVALID_MEMORY_ASSUMPTION |
ポインターの無効な削除 | BAD_DELETE |
無効なファイル位置 | INVALID_FILE_POS |
ポインターの無効な解放 | BAD_FREE |
反復子の使用法が無効です | INVALID_ITERATOR_USAGE |
科学表記形式が無効です | INVALID_NOTATION_ON_E_CONSTANT |
== 演算子の無効な使用 | BAD_EQUAL_EQUAL_USE |
= 演算子の無効な使用 | BAD_EQUAL_USE |
標準ライブラリの浮動小数点ルーチンの無効な使用 | FLOAT_STD_LIB |
標準ライブラリ整数ルーチンの無効な使用 | INT_STD_LIB |
標準ライブラリ メモリ ルーチンの無効な使用 | MEM_STD_LIB |
標準ライブラリ ルーチンの無効な使用 | OTHER_STD_LIB |
標準ライブラリ文字列ルーチンの無効な使用 | STR_STD_LIB |
va_list 引数が無効です | INVALID_VA_LIST_ARG |
結合済みまたは分離済みスレッドの結合または分離 | DOUBLE_JOIN_OR_DETACH |
typeid オペランドとしてラムダが使用されています | LAMBDA_TYPE_MISUSE |
LDAP インジェクション | LDAP_INJECTION |
外部制御されるパスから読み込まれたライブラリ | TAINTED_PATH_LIB |
ステートメントが複数存在する行 | MORE_THAN_ONE_STATEMENT |
相対パスからライブラリを読み込むと、外部アクターの制御を受ける可能性があります | RELATIVE_PATH_LIB |
汚染された値で制限されたループ | TAINTED_LOOP_BOUNDARY |
セミコロンで終了するマクロ | SEMICOLON_TERMINATED_MACRO |
マクロに複数のステートメントがあります | MULTI_STMT_MACRO |
コンストラクターでメンバーが初期化されません | NON_INIT_MEMBER |
汚染されたサイズでのメモリの割り当て | TAINTED_MEMORY_ALLOC_SIZE |
浮動小数点値のメモリ比較 | MEMCMP_FLOAT |
パディング データのメモリ比較 | MEMCMP_PADDING_DATA |
文字列のメモリ比較 | MEMCMP_STRINGS |
メモリ リーク | MEM_LEAK |
const でないメソッド | METHOD_NOT_CONST |
データの長さとサイズが一致していません | DATA_LENGTH_MISMATCH |
Windows での関数 alloc と関数 dealloc の不一致 | WIN_MISMATCH_DEALLOC |
RSA アルゴリズムのブラインディングが見つかりません | CRYPTO_RSA_NO_BLINDING |
ブロック暗号初期化ベクトルがありません | CRYPTO_CIPHER_NO_IV |
switch case の break がありません | MISSING_SWITCH_BREAK |
データ転送時の欠落しているバイトの並べ替え | MISSING_BYTESWAP |
コンテナーの予約メソッドの呼び出しがありません | MISSING_CONTAINER_RESERVE |
switch 条件の case がありません | MISSING_SWITCH_CASE |
認証機関リストが見つかりません | CRYPTO_SSL_NO_CA |
暗号アルゴリズムがありません | CRYPTO_CIPHER_NO_ALGORITHM |
処理する暗号データがありません | CRYPTO_CIPHER_NO_DATA |
暗号化の最終ステップがありません | CRYPTO_CIPHER_NO_FINAL |
暗号キーがありません | CRYPTO_CIPHER_NO_KEY |
constexpr 指定子が見つかりません | MISSING_CONSTEXPR |
暗号化、復号化または署名操作用のデータが見つかりません | CRYPTO_PKEY_NO_DATA |
キーワード explicit がありません | MISSING_EXPLICIT_KEYWORD |
更新操作のハッシュ後に最終ステップがありません | CRYPTO_MD_NO_FINAL |
ハッシュ アルゴリズムがありません | CRYPTO_MD_NO_ALGORITHM |
ロックの欠落 | BAD_UNLOCK |
string 配列での null 値の欠落 | MISSING_NULL_CHAR |
スレッド属性の欠落または二重初期化 | BAD_THREAD_ATTRIBUTE |
割り当て関数または割り当て解除関数のオーバーロードが見つかりません | MISSING_OVERLOAD_NEW_DELETE_PAIR |
RSA アルゴリズムのパディングが見つかりません | CRYPTO_RSA_NO_PADDING |
キー生成のパラメーターが見つかりません | CRYPTO_PKEY_NO_PARAMS |
ピア キーが見つかりません | CRYPTO_PKEY_NO_PEER |
秘密鍵が見つかりません | CRYPTO_PKEY_NO_PRIVATE_KEY |
X.509 証明書用の秘密鍵が見つかりません | CRYPTO_SSL_NO_PRIVATE_KEY |
公開鍵が見つかりません | CRYPTO_PKEY_NO_PUBLIC_KEY |
解放したポインターのリセットがありません | MISSING_FREED_PTR_RESET |
return ステートメントがありません | MISSING_RETURN |
ハッシュ演算のソルトがありません | CRYPTO_MD_NO_SALT |
ロック解除されていません | BAD_LOCK |
バーチャル継承がありません | MISSING_VIRTUAL_INHERITANCE |
X.509 証明書が見つかりません | CRYPTO_SSL_NO_CERTIFICATE |
FILE オブジェクトの不適切な使用 | FILE_OBJECT_MISUSE |
errno の不適切な使用 | ERRNO_MISUSE |
信号ハンドラーでの errno の不適切な使用 | SIG_HANDLER_ERRNO_MISUSE |
ナロー文字列またはワイド文字列の不適切な使用 | NARROW_WIDE_STR_MISUSE |
readlink() の不適切な使用 | READLINK_MISUSE |
再呼び出し不可能な標準関数の戻り値の不適切な使用 | NON_REENTRANT_STD_RETURN |
符号拡張文字の値の不適切な使用 | CHARACTER_MISUSE |
フレキシブル配列メンバーをもつ構造体の不適切な使用 | FLEXIBLE_ARRAY_MEMBER_STRUCT_MISUSE |
再呼び出し不可能な標準関数から返された内部バッファーが変更されています | WRITE_INTERNAL_BUFFER_RETURNED_FROM_STD_FUNC |
const オブジェクトの移動操作 | MOVE_CONST_OBJECT |
移動操作にコピーが使用されています | MOVE_OPERATION_USES_COPY |
複数のミューテックスで同じ条件変数が使用されています | MULTI_MUTEX_WITH_ONE_COND_VAR |
複数のスレッドが同じ条件変数を待機しています | SIGNALED_COND_VAR_NOT_UNIQUE |
コンテキストに追加されたデータがありません | CRYPTO_MD_NO_DATA |
関数 noexcept が例外で終了 | NOEXCEPT_FUNCTION_THROWS |
AUTOSAR 仕様に非準拠 | autosar_lib_non_compliance |
未初期化ポインター | NON_INIT_PTR |
未初期化変数 | NON_INIT_VAR |
ハッシュ アルゴリズムがセキュリティで保護されていません | CRYPTO_MD_WEAK_HASH |
キー生成のパラメーターがセキュリティで保護されていません | CRYPTO_PKEY_WEAK_PARAMS |
RSA 公開指数がセキュリティで保護されていません | CRYPTO_RSA_LOW_EXPONENT |
SSL/TLS プロトコルがセキュリティで保護されていません | CRYPTO_SSL_WEAK_PROTOCOL |
NULL ポインター | NULL_PTR |
オブジェクトのスライス | OBJECT_SLICING |
以前に開いたリソースを開く | DOUBLE_RESOURCE_OPEN |
オーバーアラインの可能性のあるクラスの演算子 new がオーバーロードされていません | MISSING_OVERLOAD_NEW_FOR_ALIGNED_OBJ |
代入が重複しています | OVERLAPPING_ASSIGN |
部分的にアクセスされる配列 | PARTIALLY_ACCESSED_ARRAY |
オーバーロードされたバーチャル関数の一部のみをオーバーライドします | PARTIAL_OVERRIDE |
部分的に重複しているコード | ALMOST_DUPLICATED_CODE |
プレーン テキストのパスワードがファイル システムに保存されています | PLAIN_TEXT_PASSWORD_IN_FILESYSTEM |
範囲外にアクセスするポインター | OUT_BOUND_PTR |
汚染されたオフセットによるポインターのデリファレンス | TAINTED_PTR_OFFSET |
破棄された一時オブジェクトへのポインターまたは参照 | POINTER_TO_TEMPORARY_OBJECT |
スタック変数へのポインターまたは参照が範囲外 | LOCAL_ADDR_ESCAPE |
未初期化値へのポインターが定数ポインターに変換 | NON_INIT_PTR_CONV |
コピーして貼り付けのエラーの可能性あり | COPY_PASTE_ERROR |
boolean 型オペランドの演算が無効な可能性があります | INVALID_OPERATION_ON_BOOLEAN |
sizeof を誤って使用している可能性があります | SIZEOF_MISUSE |
データ型は switch 式に不適切な可能性があります | INAPPROPRIATE_TYPE_IN_SWITCH |
演算子の優先順位のルールにより、予期せぬ式の評価が得られる可能性があります | OPERATOR_PRECEDENCE |
整数から浮動小数点への変換での桁落ち | INT_TO_FLOAT_PRECISION_LOSS |
オブジェクトとして使用される事前定義されたマクロ | MACRO_USED_AS_OBJECT |
予測可能なブロック暗号初期化ベクトル | CRYPTO_CIPHER_PREDICTABLE_IV |
予測可能な暗号キー | CRYPTO_CIPHER_PREDICTABLE_KEY |
予測可能なシードによる予測可能な乱数出力です | RAND_SEED_PREDICTABLE |
マクロ引数のプリプロセッサ命令 | PRE_DIRECTIVE_MACRO_ARG |
権限の削除が検証されていません | MISSING_PRIVILEGE_DROP_CHECK |
パブリックな静的フィールドが const ではありません | PUBLIC_STATIC_FIELD_NOT_CONST |
変換において修飾子を削除 | QUALIFIER_MISMATCH |
sizeof のオペランドに含まれる式が冗長です | SIZEOF_USELESS_OP |
無名一時オブジェクトへの参照 | LOCAL_REF_TO_UNNAMED_TEMPORARY |
リソース インジェクション | RESOURCE_INJECTION |
リソース リーク | RESOURCE_LEAK |
要注意の関数の戻り値がチェックされていません | RETURN_NOT_CHECKED |
計算例外の信号ハンドラーからの戻り値 | SIG_HANDLER_COMP_EXCP_RETURN |
カプセル化されたデータ メンバーに定数ではないハンドルが返されています | BREAKING_DATA_ENCAPSULATION |
シフト演算の右オペランドが許容範囲外 | SHIFT_OVFL |
自己代入が演算子でテストされていません | MISSING_SELF_ASSIGN_TEST |
if、for、または while ステートメントと同じ行にあるセミコロン | SEMICOLON_CTRL_STMT_SAME_LINE |
機密データが出力されました | SENSITIVE_DATA_PRINT |
要注意のヒープ メモリが解放前にクリアされていません | SENSITIVE_HEAP_NOT_CLEARED |
サーバー証明書の共通名が確認されていません | CRYPTO_SSL_HOSTNAME_NOT_CHECKED |
信号ハンドラー内でのデータ アクセスの共有 | SIG_HANDLER_SHARED_OBJECT |
負の値のシフト | SHIFT_NEG |
安全でないマクロへの引数の二次的影響 | SIDE_EFFECT_IN_UNSAFE_MACRO_ARG |
式の二次的影響は無視されます | SIDE_EFFECT_IGNORED |
信号ハンドラー内からの信号呼び出し | SIG_HANDLER_CALLING_SIGNAL |
マルチスレッド プログラムの信号呼び出し | SIGNAL_USE_IN_MULTITHREADED_PROGRAM |
符号変化する整数の変換のオーバーフロー | SIGN_CHANGE |
SQL インジェクション | SQL_INJECTION |
標準関数が不適切な引数で呼び出されました | STD_FUNC_ARG_MISMATCH |
呼び出されていない静的関数 | UNCALLED_FUNC |
std::endl によって不要なフラッシュが生じることがあります | STD_ENDL_USE |
移動不可のタイプで std::move が呼び出されました | STD_MOVE_UNMOVABLE_TYPE |
未接続のポインターにより初期化された std::string_view | DANGLING_STRING_VIEW |
意図しない二次的影響の可能性があるストリーム引数 | STREAM_WITH_SIDE_EFFECT |
異なる配列を指すポインター間の減算または比較 | PTR_TO_DIFF_ARRAY |
汚染された除算演算子 | TAINTED_INT_DIVISION |
汚染されたモジュロ演算子 | TAINTED_INT_MOD |
汚染された NULL 文字列または非 NULL 終端文字列 | TAINTED_STRING |
汚染された符号変化の変換 | TAINTED_SIGN_CHANGE |
可変長配列の汚染されたサイズ | TAINTED_VLA_SIZE |
汚染されたソースを要注意の関数と共に使用 | TAINTED_SOURCE_USE_CUSTOM |
汚染された文字列形式 | TAINTED_STRING_FORMAT |
スレッド固有のメモリ リーク | THREAD_MEM_LEAK |
throw の引数式が new を呼び出します | THROW_EXPRESSION_CALLS_NEW |
throw の引数が予期せぬ例外を発生 | THROW_ARGUMENT_EXPRESSION_THROWS |
TLS/SSL 接続メソッドが設定されていません | CRYPTO_SSL_NO_ROLE |
TLS/SSL 接続メソッドの設定が正しくありません | CRYPTO_SSL_BAD_ROLE |
現在の引数リストに対する va_arg 呼び出しが多すぎます | TOO_MANY_VA_ARG_CALLS |
Typedef が一致しません | TYPEDEF_MISMATCH |
umask が chmod 型の引数と共に使用されています | BAD_UMASK |
キャッチされていない例外 | UNCAUGHT_EXCEPTION |
キャッチされていない例外 | UNCAUGHT_EXCEPTION |
不確かなメモリのクリーン アップ | UNCERTAIN_MEMORY_CLEANING |
スタック内にクリアされていない機密データがあります | SENSITIVE_STACK_NOT_CLEARED |
トークン連結からのユニバーサル文字名 | PRE_UCNAME_JOIN_TOKENS |
未変更の変数に const 修飾子が付いていません | UNMODIFIED_VAR_NOT_CONST |
ヘッダー ファイルの無名の名前空間 | UNNAMED_NAMESPACE_IN_HEADER |
再割り当て前の不要な構成 | UNNECESSARY_CONSTRUCTION_BEFORE_ASSIGNMENT |
特殊なメンバー関数の不要な実装 | UNNECESSARY_IMPL_OF_SPECIAL_MEMBER_FUNCTION |
パラメーターへの不要な参照 | EXPENSIVE_PASS_BY_REFERENCE |
不必要なパディング | UNNECESSARY_STRUCT_PADDING |
std::string::c_str() または同等の string メソッドの不要な使用 | EXPENSIVE_C_STR_STD_STRING_CONSTRUCTION |
保護されていない動的メモリ割り当て | UNPROTECTED_MEMORY_ALLOCATION |
到達不能コード | UNREACHABLE |
関数ポインターの信頼性の低いキャスト | FUNC_CAST |
ポインターの信頼性の低いキャスト | PTR_CAST |
システム関数の安全でない呼び出し | UNSAFE_SYSTEM_CALL |
ポインターと整数間での変換は安全ではありません | BAD_INT_PTR_CAST |
文字列から数値への変換は安全ではありません | UNSAFE_STR_TO_NUMERIC |
安全でない標準暗号化関数 | UNSAFE_STD_CRYPT |
安全でない標準関数 | UNSAFE_STD_FUNC |
符号なし整数定数のオーバーフロー | UINT_CONSTANT_OVFL |
符号なし整数の変換のオーバーフロー | UINT_CONV_OVFL |
符号なし整数のオーバーフロー | UINT_OVFL |
サポートされていない構文がテスト オーサリング API とともに使用されました | PSTUNIT_UNSUPPORTED_SYNTAX |
使用されない変数 | UNUSED_VARIABLE |
未使用のパラメーターです | UNUSED_PARAMETER |
無意味な if | USELESS_IF |
無意味なインクルード | USELESS_INCLUDE |
無意味なプリプロセッサの条件付き命令 | USELESS_PREPROC_CONDITION |
禁止された C/C++ キーワードの使用 | FORBIDDEN_KEYWORD |
禁止された関数の使用 | FORBIDDEN_FUNC |
禁止されたマクロの使用 | FORBIDDEN_MACRO |
putenv ファミリ関数の引数としての自動変数の使用 | PUTENV_AUTO_VAR |
危険な標準関数を使用しています | DANGEROUS_STD_FUNC |
外部制御される環境変数を使用しています | TAINTED_ENV_VARIABLE |
不確定文字列の使用 | INDETERMINATE_STRING |
size 引数がゼロの memset を使用しています | MEMSET_INVALID_SIZE |
より効率的な make_shared ではなく new または make_unique を使用 | MISSING_MAKE_SHARED |
セキュリティで保護されていない一時ファイルを使用しています | NON_SECURE_TEMP_FILE |
旧式の標準関数が使用されています | OBSOLETE_STD_FUNC |
最大バッファー サイズのチェックがないパス操作関数を使用しています | PATH_BUFFER_OVERFLOW |
数値にプレーンの char 型が使用されています | BAD_PLAIN_CHAR_USE |
以前に閉じられたリソースを使用しています | CLOSED_RESOURCE_USE |
前に解放したポインターの使用 | FREED_PTR |
setjmp/longjmp の使用 | SETJMP_LONGJMP_USE |
スレッドを強制終了するための信号の使用 | THREAD_KILLED_WITH_SIGNAL |
無意味なキャプチャ | USELESS_CAPTURE |
汚染されたポインターの使用 | TAINTED_PTR |
汚染されたポインターの使用 | TAINTED_PTR |
未定義のスレッド ID の使用 | UNDEFINED_THREAD_ID |
可変長配列が正のサイズをもっていません | NON_POSITIVE_VLA_SIZE |
変数のシャドウイング | VAR_SHADOWING |
パス操作が脆弱です | PATH_TRAVERSAL |
アクセス許可の割り当てが脆弱です | DANGEROUS_PERMISSIONS |
疑似乱数発生器が脆弱です | VULNERABLE_PRNG |
脆弱な暗号アルゴリズム | CRYPTO_CIPHER_WEAK_CIPHER |
脆弱な暗号モード | CRYPTO_CIPHER_WEAK_MODE |
RSA アルゴリズムのパディングが脆弱です | CRYPTO_RSA_WEAK_PADDING |
読み取りのない書き込み | USELESS_WRITE |
定数制限付きオブジェクトに書き込んでいます | CONSTANT_OBJECT_WRITE |
読み取り専用リソースに書き込んでいます | READ_ONLY_RESOURCE_WRITE |
キャストに割り当てられた誤ったオブジェクト サイズ | OBJECT_SIZE_MISMATCH |
sizeof において使用された誤った型 | PTR_SIZEOF_MISMATCH |
X.509 ピア証明書が確認されていません | CRYPTO_SSL_CERT_NOT_CHECKED |