fold/tests/lint/clang_tidy_baseline.json
trvon b0b51f1e71
feat: converge quality and scan interfaces
- fail closed on MCP input and compile database policy
- add shared scan catalogs, finding queries, and tiered gates
2026-07-29 00:57:33 -04:00

13442 lines
475 KiB
JSON

{
"findings": [
{
"column": 7,
"line": 35,
"message": "class 'BinaryBBObserver' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator",
"path": "include/fold/binary/binary_bb_observer.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 13,
"message": "invalid case style for class 'context'",
"path": "include/fold/binary/gadget_semantics.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 209,
"message": "function 'requiresFunctionExtraction' should be marked [[nodiscard]]",
"path": "include/fold/binary/r2_backend.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 59,
"line": 22,
"message": "performing an implicit widening conversion to type 'const std::size_t' (aka 'const unsigned long') of a multiplication performed in type 'int'",
"path": "include/fold/binary/r2_backend_detail.hpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-implicit-widening-of-multiplication-result",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 21,
"message": "variadic macro 'FOLD_FWD' used; consider using a 'constexpr' variadic template function",
"path": "include/fold/cli/composite_observer.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-macro-usage",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 24,
"message": "variadic macro 'FOLD_FWD_BASE' used; consider using a 'constexpr' variadic template function",
"path": "include/fold/cli/composite_observer.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-macro-usage",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 13,
"message": "enum 'SourceDetectorCategory' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size",
"path": "include/fold/cli/detector_plan.hpp",
"rationale_ref": "performance-debt",
"rule": "performance-enum-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 41,
"message": "the parameter 'message' of type 'std::string' (aka 'basic_string<char>') is copied for each invocation but only used as a const reference; consider making it a const reference",
"path": "include/fold/cli/error_format.hpp",
"rationale_ref": "performance-debt",
"rule": "performance-unnecessary-value-param",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 106,
"message": "function 'to_json' should be marked [[nodiscard]]",
"path": "include/fold/cli/profile.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 106,
"message": "invalid case style for function 'to_json'",
"path": "include/fold/cli/profile.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 31,
"line": 70,
"message": "member 'detector_plan' of type 'const SourceDetectorPlan &' is a reference",
"path": "include/fold/cli/source_tu_runner.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 55,
"message": "member 'detector_profiles' of type 'std::vector<DetectorProfile> &' is a reference",
"path": "include/fold/cli/source_tu_runner.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 54,
"message": "member 'findings' of type 'std::vector<Finding> &' is a reference",
"path": "include/fold/cli/source_tu_runner.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 53,
"message": "member 'function_summaries' of type 'std::vector<SerializedSummary> &' is a reference",
"path": "include/fold/cli/source_tu_runner.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 68,
"message": "member 'options' of type 'const ScanOptions &' is a reference",
"path": "include/fold/cli/source_tu_runner.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 52,
"message": "member 'summaries' of type 'std::vector<FunctionSummary> &' is a reference",
"path": "include/fold/cli/source_tu_runner.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 23,
"message": "class 'SubprocessFanout' defines a destructor, a copy constructor and a copy assignment operator but does not define a move constructor or a move assignment operator",
"path": "include/fold/cli/subprocess_fanout.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 23,
"message": "class 'SubprocessFanout' defines a non-default destructor, a copy constructor and a copy assignment operator but does not define a move constructor or a move assignment operator",
"path": "include/fold/cli/subprocess_fanout.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 34,
"message": "class 'AnalysisBackend' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator",
"path": "include/fold/core/analysis_backend.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 27,
"message": "the value returned by this function should not be disregarded; neglecting it may lead to errors",
"path": "include/fold/core/assert.hpp",
"rationale_ref": "correctness-debt",
"rule": "cert-err33-c",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 8,
"message": "variable 'g_fold_assertion_failure_in_flight' is non-const and globally accessible, consider making it const",
"path": "include/fold/core/assert.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 66,
"message": "function-like macro 'FOLD_UNREACHABLE' used; consider a 'constexpr' template function",
"path": "include/fold/core/assert.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-macro-usage",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 27,
"message": "do not call c-style vararg functions",
"path": "include/fold/core/assert.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-vararg",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 27,
"message": "use 'std::println' instead of 'fprintf'",
"path": "include/fold/core/assert.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-std-print",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 59,
"message": "function 'enabled' should be marked [[nodiscard]]",
"path": "include/fold/detect/clone_hash_cache.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 60,
"message": "function 'hits' should be marked [[nodiscard]]",
"path": "include/fold/detect/clone_hash_cache.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 61,
"message": "function 'misses' should be marked [[nodiscard]]",
"path": "include/fold/detect/clone_hash_cache.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 52,
"message": "function 'empty' should be marked [[nodiscard]]",
"path": "include/fold/detect/cross_tu_cache.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 46,
"message": "function 'entries' should be marked [[nodiscard]]",
"path": "include/fold/detect/cross_tu_cache.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 49,
"message": "function 'entriesForTU' should be marked [[nodiscard]]",
"path": "include/fold/detect/cross_tu_cache.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 44,
"message": "function 'lookup' should be marked [[nodiscard]]",
"path": "include/fold/detect/cross_tu_cache.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 50,
"message": "function 'trackedTUs' should be marked [[nodiscard]]",
"path": "include/fold/detect/cross_tu_cache.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 8,
"line": 41,
"message": "constructor does not initialize these fields: source_mtime_ns",
"path": "include/fold/detect/cross_tu_cache_io.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-member-init",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 76,
"line": 52,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "include/fold/detect/detail/edit_distance.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 84,
"line": 23,
"message": "use designated initializer list to initialize 'LevenshteinWeightTable'",
"path": "include/fold/detect/detail/edit_distance.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 119,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "include/fold/detect/detail/security_walker_engine.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 117,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "include/fold/detect/detail/security_walker_engine.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 118,
"message": "member 'solver_' of type 'z3::solver &' is a reference",
"path": "include/fold/detect/detail/security_walker_engine.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 36,
"message": "class 'ScopedEncodeTimer' defines a non-default destructor, a copy constructor and a copy assignment operator but does not define a move constructor or a move assignment operator",
"path": "include/fold/detect/detail/security_walker_engine.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 94,
"message": "function 'shouldMerge<std::vector<ResolvedBinding>>' should be marked [[nodiscard]]",
"path": "include/fold/detect/detail/security_walker_engine.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 49,
"message": "function 'changedFunctions' should be marked [[nodiscard]]",
"path": "include/fold/detect/incremental_cache.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 45,
"message": "function 'isStale' should be marked [[nodiscard]]",
"path": "include/fold/detect/incremental_cache.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 40,
"message": "enum 'SecuritySinkKind' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size",
"path": "include/fold/detect/security_walker.hpp",
"rationale_ref": "performance-debt",
"rule": "performance-enum-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 59,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "include/fold/detect/sql_injection.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 84,
"message": "function 'isStringBuilder' should be marked [[nodiscard]]",
"path": "include/fold/detect/sql_injection.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 82,
"message": "function 'isTaintSource' should be marked [[nodiscard]]",
"path": "include/fold/detect/sql_injection.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 8,
"message": "enum 'SinkSizeUnit' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size",
"path": "include/fold/detect/stdlib_models.hpp",
"rationale_ref": "performance-debt",
"rule": "performance-enum-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 36,
"message": "function 'empty' should be marked [[nodiscard]]",
"path": "include/fold/detect/summary_store.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 28,
"message": "function 'getDependents' should be marked [[nodiscard]]",
"path": "include/fold/detect/summary_store.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 30,
"message": "function 'isComputing' should be marked [[nodiscard]]",
"path": "include/fold/detect/summary_store.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 31,
"message": "function 'isStale' should be marked [[nodiscard]]",
"path": "include/fold/detect/summary_store.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 21,
"message": "function 'lookup' should be marked [[nodiscard]]",
"path": "include/fold/detect/summary_store.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 86,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "include/fold/detect/taint_track.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 68,
"message": "function 'isTainted' should be marked [[nodiscard]]",
"path": "include/fold/detect/taint_track.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 105,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "include/fold/detect/z3_model_support.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 77,
"message": "use starts_with instead of rfind",
"path": "include/fold/detect/z3_model_support.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 35,
"message": "invalid case style for variable 'signBit'",
"path": "include/fold/detect/z3_model_support.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 19,
"message": "class 'ClangBackend' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator",
"path": "include/fold/frontend/clang_backend.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 19,
"message": "class 'ClangBackend' defines a destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator",
"path": "include/fold/frontend/clang_backend.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 38,
"message": "function 'lastShardResult' should be marked [[nodiscard]]",
"path": "include/fold/frontend/clang_backend.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 1,
"line": 7,
"message": "nested namespaces can be concatenated",
"path": "include/fold/frontend/comp_db.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-concat-nested-namespaces",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 36,
"line": 30,
"message": "performing an implicit widening conversion to type 'std::size_t' (aka 'unsigned long') of a multiplication performed in type 'int'",
"path": "include/fold/frontend/subprocess.hpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-implicit-widening-of-multiplication-result",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 65,
"message": "enum 'BinaryParamTypeMode' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size",
"path": "include/fold/fuzz/harness_emitter.hpp",
"rationale_ref": "performance-debt",
"rule": "performance-enum-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 63,
"message": "enum 'Status' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size",
"path": "include/fold/fuzz/runner.hpp",
"rationale_ref": "performance-debt",
"rule": "performance-enum-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 142,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "include/fold/fuzz/witness_recorder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 29,
"message": "initializer for member 'symbol' is redundant",
"path": "include/fold/ir/access_path.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-member-init",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 6,
"line": 176,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "include/fold/ir/binary_expr.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 111,
"message": "function 'binaryKindToString' has inline specifier but is implicitly inlined",
"path": "include/fold/ir/binary_expr.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-inline-specifier",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 57,
"message": "member 'fcfg_' of type 'const FunctionCFG &' is a reference",
"path": "include/fold/ir/cfg_walker.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 31,
"line": 28,
"message": "member variable 'blocks' has public visibility",
"path": "include/fold/ir/cfg_walker.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-non-private-member-variables-in-classes",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 29,
"message": "member variable 'cfg' has public visibility",
"path": "include/fold/ir/cfg_walker.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-non-private-member-variables-in-classes",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 27,
"message": "member variable 'function_name' has public visibility",
"path": "include/fold/ir/cfg_walker.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-non-private-member-variables-in-classes",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 8,
"line": 26,
"message": "class 'FunctionCFG' defines a copy constructor, a copy assignment operator, a move constructor and a move assignment operator but does not define a destructor",
"path": "include/fold/ir/cfg_walker.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 41,
"message": "function 'isConstantDef' should be marked [[nodiscard]]",
"path": "include/fold/ir/def_use.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 36,
"message": "function 'reachingDefs' should be marked [[nodiscard]]",
"path": "include/fold/ir/def_use.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 39,
"message": "function 'usesOf' should be marked [[nodiscard]]",
"path": "include/fold/ir/def_use.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 116,
"message": "do not use reinterpret_cast",
"path": "include/fold/ir/expr.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-reinterpret-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 14,
"message": "enum 'HashMode' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size",
"path": "include/fold/ir/hash.hpp",
"rationale_ref": "performance-debt",
"rule": "performance-enum-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 21,
"message": "member 'in_' of type 'std::istream &' (aka 'basic_istream<char> &') is a reference",
"path": "include/fold/lsp/framed_transport.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 22,
"message": "member 'out_' of type 'std::ostream &' (aka 'basic_ostream<char> &') is a reference",
"path": "include/fold/lsp/framed_transport.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 38,
"message": "function 'buildCodeActions' should be marked [[nodiscard]]",
"path": "include/fold/lsp/server.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 31,
"message": "function 'buildInitializeResult' should be marked [[nodiscard]]",
"path": "include/fold/lsp/server.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 35,
"message": "function 'findCompileDb' should be marked [[nodiscard]]",
"path": "include/fold/lsp/server.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 12,
"message": "class 'Transport' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator",
"path": "include/fold/lsp/transport.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 34,
"message": "class 'ScanJobQueue' defines a default destructor, a copy constructor and a copy assignment operator but does not define a move constructor or a move assignment operator",
"path": "include/fold/mcp/scan_jobs.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 34,
"message": "class 'ScanJobQueue' defines a destructor, a copy constructor and a copy assignment operator but does not define a move constructor or a move assignment operator",
"path": "include/fold/mcp/scan_jobs.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 45,
"message": "function 'findings' should be marked [[nodiscard]]",
"path": "include/fold/mcp/scan_jobs.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 43,
"message": "function 'list' should be marked [[nodiscard]]",
"path": "include/fold/mcp/scan_jobs.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 44,
"message": "function 'lookup' should be marked [[nodiscard]]",
"path": "include/fold/mcp/scan_jobs.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 21,
"message": "member 'in_' of type 'std::istream &' (aka 'basic_istream<char> &') is a reference",
"path": "include/fold/mcp/stdio_transport.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 22,
"message": "member 'out_' of type 'std::ostream &' (aka 'basic_ostream<char> &') is a reference",
"path": "include/fold/mcp/stdio_transport.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 11,
"message": "class 'Transport' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator",
"path": "include/fold/mcp/transport.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 65,
"message": "function 'nodesNeedingZ3' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/ai_pre_pass.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 61,
"message": "function 'nodesProvedSafe' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/ai_pre_pass.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 58,
"message": "function 'totalArithmeticNodes' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/ai_pre_pass.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 226,
"message": "forwarding reference parameter 'fn' is never forwarded inside the function body",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-missing-std-forward",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 81,
"message": "constructor does not initialize these fields: element_count, element_size_bytes",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-member-init",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 59,
"line": 437,
"message": "do not use reinterpret_cast",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-reinterpret-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 74,
"message": "class 'SymbolicEnv' defines a copy constructor, a copy assignment operator, a move constructor and a move assignment operator but does not define a destructor",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 56,
"line": 368,
"message": "use designated initializer list to initialize 'AssumptionProvenance'",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 67,
"line": 367,
"message": "use designated initializer list to initialize 'symbolic::TrackedAssumption'",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 273,
"message": "function 'bufferSizes' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 98,
"message": "function 'ctx' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 243,
"message": "function 'currentPath' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 217,
"message": "function 'factMemberValue' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 209,
"message": "function 'factRange' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 131,
"message": "function 'getHeapArray' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 172,
"message": "function 'guardedFacts' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 267,
"message": "function 'heapModel' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 392,
"message": "function 'isDefinitelyNonNull' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 197,
"message": "function 'isFactNonNull' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 203,
"message": "function 'isFactNonZero' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 111,
"message": "function 'isImprecise' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 110,
"message": "function 'isViable' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 380,
"message": "function 'modelingOptions' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 263,
"message": "function 'observer' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 100,
"message": "function 'tag' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 371,
"message": "function 'trackedAssumptions' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 135,
"message": "function 'tryGetMember' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 277,
"message": "function 'tryGetRange' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 61,
"message": "invalid case style for function 'record_bailed'",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 60,
"message": "invalid case style for function 'record_encoded'",
"path": "include/fold/symbolic/encoder.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 30,
"message": "redundant 'qualifiedCalleeName' declaration",
"path": "include/fold/symbolic/encoder_callee_names.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-declaration",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 28,
"message": "redundant 'qualifiedFunctionName' declaration",
"path": "include/fold/symbolic/encoder_callee_names.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-declaration",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 46,
"line": 105,
"message": "forwarding reference parameter 'value' is never forwarded inside the function body",
"path": "include/fold/symbolic/encoder_detail.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-missing-std-forward",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 95,
"message": "enum 'GuardMatch' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size",
"path": "include/fold/symbolic/guarded_facts.hpp",
"rationale_ref": "performance-debt",
"rule": "performance-enum-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 59,
"line": 111,
"message": "do not use reinterpret_cast",
"path": "include/fold/symbolic/heap_model.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-reinterpret-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 95,
"message": "function 'getAllocId' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/heap_model.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 128,
"message": "function 'getPointerInfo' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/heap_model.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 80,
"message": "function 'getRegion' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/heap_model.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 94,
"message": "function 'getSymbolicSize' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/heap_model.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 88,
"message": "function 'isFreed' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/heap_model.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 87,
"message": "function 'isTrackedPointer' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/heap_model.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 126,
"message": "function 'keyFor' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/heap_model.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 96,
"message": "function 'mustNotAlias' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/heap_model.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 55,
"line": 24,
"message": "use designated initializer list to initialize 'IntInterval'",
"path": "include/fold/symbolic/interval.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 30,
"message": "function 'fits_signed' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/interval.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 30,
"message": "invalid case style for function 'fits_signed'",
"path": "include/fold/symbolic/interval.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 14,
"line": 17,
"message": "use default member initializer for 'iterations'",
"path": "include/fold/symbolic/loop_invariant.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-use-default-member-init,modernize-use-default-member-init",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 14,
"message": "use default member initializer for 'success'",
"path": "include/fold/symbolic/loop_invariant.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-use-default-member-init,modernize-use-default-member-init",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 490,
"message": "member variable 'current_octagon_' has protected visibility",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-non-private-member-variables-in-classes",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 489,
"message": "member variable 'def_use_chains_' has protected visibility",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-non-private-member-variables-in-classes",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 491,
"message": "member variable 'function_precision_' has protected visibility",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-non-private-member-variables-in-classes",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 31,
"line": 488,
"message": "member variable 'loc_mapper_' has protected visibility",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-non-private-member-variables-in-classes",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 486,
"message": "member variable 'path_trace_' has protected visibility",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-non-private-member-variables-in-classes",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 487,
"message": "member variable 'source_manager_' has protected visibility",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-non-private-member-variables-in-classes",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 485,
"message": "member variable 'tracer_' has protected visibility",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-non-private-member-variables-in-classes",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 34,
"line": 492,
"message": "member variable 'z3_ctx_' has protected visibility",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-non-private-member-variables-in-classes",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 69,
"message": "class 'SafetyObserver' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 117,
"message": "use designated initializer list to initialize 'DefUseContext'",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 114,
"message": "function 'currentOctagon' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 127,
"message": "function 'currentPathTrace' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 116,
"message": "function 'defUseContext' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 156,
"message": "function 'functionPrecision' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 180,
"message": "enum 'BinOp' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size",
"path": "include/fold/symbolic/safety_observer.hpp",
"rationale_ref": "performance-debt",
"rule": "performance-enum-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 23,
"message": "invalid case style for constexpr variable 'body_smt'",
"path": "include/fold/symbolic/serialize.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 24,
"message": "invalid case style for constexpr variable 'body_statement_count'",
"path": "include/fold/symbolic/serialize.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 20,
"message": "invalid case style for constexpr variable 'column'",
"path": "include/fold/symbolic/serialize.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 18,
"message": "invalid case style for constexpr variable 'file'",
"path": "include/fold/symbolic/serialize.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 16,
"message": "invalid case style for constexpr variable 'id'",
"path": "include/fold/symbolic/serialize.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 22,
"message": "invalid case style for constexpr variable 'input_names'",
"path": "include/fold/symbolic/serialize.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 19,
"message": "invalid case style for constexpr variable 'line'",
"path": "include/fold/symbolic/serialize.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 17,
"message": "invalid case style for constexpr variable 'qualified_name'",
"path": "include/fold/symbolic/serialize.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 21,
"message": "invalid case style for constexpr variable 'signature_key'",
"path": "include/fold/symbolic/serialize.hpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 26,
"message": "function 'serialize' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/summary.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 162,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "include/fold/symbolic/theory.hpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 11,
"line": 222,
"message": "class 'ScopedHookTimer' defines a non-default destructor, a copy constructor and a copy assignment operator but does not define a move constructor or a move assignment operator",
"path": "include/fold/symbolic/theory.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 11,
"line": 246,
"message": "class 'ScopedPhaseTimer' defines a non-default destructor, a copy constructor and a copy assignment operator but does not define a move constructor or a move assignment operator",
"path": "include/fold/symbolic/theory.hpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 63,
"message": "function 'isFatal' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/theory.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 64,
"message": "function 'isImprecise' should be marked [[nodiscard]]",
"path": "include/fold/symbolic/theory.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 19,
"message": "function 'toGraphML' should be marked [[nodiscard]]",
"path": "include/fold/witness/graphml.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 21,
"message": "function 'write' should be marked [[nodiscard]]",
"path": "include/fold/witness/graphml.hpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 103,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "src/binary/binary_bb_observer.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 173,
"message": "use designated initializer list to initialize 'ArchSpec'",
"path": "src/binary/binary_pcode_scan.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 42,
"line": 141,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::ChainStepInfo')",
"path": "src/binary/binary_pcode_scan.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 133,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::GadgetRef')",
"path": "src/binary/binary_pcode_scan.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 105,
"message": "use a ranges version of this algorithm",
"path": "src/binary/binary_pcode_scan.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 185,
"message": "function 'scanBinaryWithPcode' exceeds recommended size/complexity thresholds",
"path": "src/binary/binary_pcode_scan.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 71,
"message": "invalid case style for variable 'liftAll'",
"path": "src/binary/binary_pcode_scan.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 135,
"message": "invalid case style for variable 'toInfo'",
"path": "src/binary/binary_pcode_scan.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 61,
"message": "member 'ctx_' of type 'z3::context &' is a reference",
"path": "src/binary/gadget_semantics.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 62,
"message": "member 'regs_' of type 'const GadgetRegModel &' is a reference",
"path": "src/binary/gadget_semantics.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 52,
"line": 209,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/binary/gadget_semantics.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 44,
"message": "use designated initializer list to initialize 'Varnode'",
"path": "src/binary/gadget_semantics.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 69,
"message": "function 'regName' should be marked [[nodiscard]]",
"path": "src/binary/gadget_semantics.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 158,
"message": "use starts_with instead of rfind",
"path": "src/binary/gadget_semantics.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 51,
"line": 111,
"message": "do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead",
"path": "src/binary/gadget_source.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-array-to-pointer-decay",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 134,
"message": "use designated initializer list to initialize 'RopGadgetRaw'",
"path": "src/binary/gadget_source.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 144,
"message": "use a ranges version of this algorithm",
"path": "src/binary/gadget_source.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 290,
"message": "narrowing conversion from 'uint4' (aka 'unsigned int') to signed type 'int4' (aka 'int') is implementation-defined",
"path": "src/binary/ghidra_lifter.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-narrowing-conversions,cppcoreguidelines-narrowing-conversions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 361,
"message": "member 'fn_' of type 'ir::pcode::Function &' is a reference",
"path": "src/binary/ghidra_lifter.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 6,
"line": 380,
"message": "variable 'g_ids_initialized' is non-const and globally accessible, consider making it const",
"path": "src/binary/ghidra_lifter.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 379,
"message": "variable 'g_lift_mutex' is non-const and globally accessible, consider making it const",
"path": "src/binary/ghidra_lifter.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 74,
"line": 48,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/binary/ghidra_lifter.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 211,
"message": "use designated initializer list to initialize 'fold::binary::(anonymous namespace)::SinkArity'",
"path": "src/binary/ghidra_lifter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 192,
"message": "use designated initializer list to initialize 'ir::pcode::Varnode'",
"path": "src/binary/ghidra_lifter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 42,
"line": 474,
"message": "comparison between 'signed' and 'unsigned' integers",
"path": "src/binary/ghidra_lifter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-integer-sign-comparison",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 53,
"message": "function 'endAddr' should be marked [[nodiscard]]",
"path": "src/binary/ghidra_lifter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 51,
"message": "function 'getArchType' should be marked [[nodiscard]]",
"path": "src/binary/ghidra_lifter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 470,
"message": "use a ranges version of this algorithm",
"path": "src/binary/ghidra_lifter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 397,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/binary/ghidra_lifter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 262,
"message": "'push_back' is called inside a loop; consider pre-allocating the container capacity before the loop",
"path": "src/binary/ghidra_lifter.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-inefficient-vector-operation",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 5,
"message": "variable 'g_hook' is non-const and globally accessible, consider making it const",
"path": "src/binary/pcode_hook.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 12,
"message": "variable 'g_stats' is non-const and globally accessible, consider making it const",
"path": "src/binary/pcode_hook.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 46,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/binary/pcode_router.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 41,
"line": 97,
"message": "comparison between 'signed' and 'unsigned' integers",
"path": "src/binary/pcode_router.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-integer-sign-comparison",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 700,
"message": "result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues",
"path": "src/binary/r2_backend.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-suspicious-stringview-data-usage",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 49,
"line": 307,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/binary/r2_backend.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 599,
"message": "do not use array subscript when the index is not an integer constant expression",
"path": "src/binary/r2_backend.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-constant-array-index",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 4,
"message": "inclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead",
"path": "src/binary/r2_backend.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-deprecated-headers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 78,
"message": "pass by value and use std::move",
"path": "src/binary/r2_backend.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-pass-by-value",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 51,
"line": 378,
"message": "use designated initializer list to initialize 'Candidate'",
"path": "src/binary/r2_backend.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 594,
"message": "use starts_with instead of find",
"path": "src/binary/r2_backend.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 74,
"line": 308,
"message": "string concatenation results in allocation of unnecessary temporary strings; consider using 'operator+=' or 'string::append()' instead",
"path": "src/binary/r2_backend.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-inefficient-string-concatenation",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 334,
"message": "function 'discoverInternalFuzzTargets' exceeds recommended size/complexity thresholds",
"path": "src/binary/r2_backend.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 152,
"message": "function 'runDetectors' exceeds recommended size/complexity thresholds",
"path": "src/binary/r2_backend.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 315,
"message": "repeated branch body in conditional chain",
"path": "src/binary/r2_disasm_state.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 109,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/binary/r2_disasm_state.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 2,
"message": "inclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead",
"path": "src/binary/r2_disasm_state.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-deprecated-headers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 268,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::binary::DisasmConstHazard')",
"path": "src/binary/r2_disasm_state.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 169,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::binary::DisasmUafHazard')",
"path": "src/binary/r2_disasm_state.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 11,
"line": 134,
"message": "use starts_with instead of rfind",
"path": "src/binary/r2_disasm_state.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 150,
"message": "invalid case style for variable 'argSlot'",
"path": "src/binary/r2_disasm_state.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 242,
"message": "invalid case style for variable 'isZero'",
"path": "src/binary/r2_disasm_state.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 284,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/binary/r2_extract.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 2,
"message": "inclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead",
"path": "src/binary/r2_extract.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-deprecated-headers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 365,
"message": "use designated initializer list to initialize 'RopGadgetRaw'",
"path": "src/binary/r2_extract.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 294,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::binary::BinaryFunctionBytes')",
"path": "src/binary/r2_extract.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 210,
"message": "use a ranges version of this algorithm",
"path": "src/binary/r2_extract.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 78,
"message": "function 'disasmFindingsInSession' exceeds recommended size/complexity thresholds",
"path": "src/binary/r2_extract.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 112,
"message": "initialization of 'kApiKeyPattern' with static storage duration may throw an exception that cannot be caught",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 118,
"message": "initialization of 'kBareSecretPattern' with static storage duration may throw an exception that cannot be caught",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 126,
"message": "initialization of 'kBase64Pattern' with static storage duration may throw an exception that cannot be caught",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 107,
"message": "initialization of 'kCredentialPattern' with static storage duration may throw an exception that cannot be caught",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 124,
"message": "initialization of 'kEmailPattern' with static storage duration may throw an exception that cannot be caught",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 121,
"message": "initialization of 'kFilePathPattern' with static storage duration may throw an exception that cannot be caught",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 50,
"line": 133,
"message": "initialization of 'kHardcodedPatterns' with static storage duration may throw an exception that cannot be caught",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 106,
"message": "initialization of 'kHttpUrlPattern' with static storage duration may throw an exception that cannot be caught",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 125,
"message": "initialization of 'kIPv4Pattern' with static storage duration may throw an exception that cannot be caught",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 70,
"line": 322,
"message": "'section' used after it was moved",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-use-after-move",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 130,
"message": "member 'pattern' of type 'const std::regex &' (aka 'const basic_regex<char> &') is a reference",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 180,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 196,
"message": "do not use array subscript when the index is not an integer constant expression",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-constant-array-index",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 2,
"message": "inclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-deprecated-headers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 11,
"line": 224,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 44,
"line": 293,
"message": "use designated initializer list to initialize 'Match'",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 63,
"line": 467,
"message": "use designated initializer list to initialize 'XrefInfo'",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 134,
"message": "use designated initializer list to initialize 'const value_type' (aka 'const fold::binary::r2_detail::HardcodedStringPattern')",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 91,
"message": "use a ranges version of this algorithm",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 394,
"message": "invalid case style for variable 'collectImports'",
"path": "src/binary/r2_serialize.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 370,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "src/binary/r2_session.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 344,
"message": "do not manage memory manually; use RAII",
"path": "src/binary/r2_session.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-no-malloc",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 157,
"message": "do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead",
"path": "src/binary/r2_session.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-array-to-pointer-decay",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 172,
"message": "do not call c-style vararg functions",
"path": "src/binary/r2_session.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-vararg",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 2,
"message": "inclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead",
"path": "src/binary/r2_session.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-deprecated-headers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 451,
"message": "use a ranges version of this algorithm",
"path": "src/binary/r2_session.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 50,
"line": 525,
"message": "invalid case style for static constant 'dangerous_names'",
"path": "src/binary/r2_session.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 655,
"message": "invalid case style for variable 'checkImportList'",
"path": "src/binary/r2_session.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 6,
"line": 639,
"message": "redundant 'attachBinaryEvidence' declaration",
"path": "src/binary/r2_session.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-declaration",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 635,
"message": "redundant 'makeFinding' declaration",
"path": "src/binary/r2_session.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-declaration",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 118,
"message": "member 'chain' of type 'RopChain &' is a reference",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 120,
"message": "member 'cursor' of type 'std::int64_t &' (aka 'long long &') is a reference",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 117,
"message": "member 'effects' of type 'const std::vector<GadgetEffect> &' is a reference",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 376,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 218,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 347,
"message": "use designated initializer list to initialize 'ChainBuilder'",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 105,
"message": "use designated initializer list to initialize 'WriteGadget'",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 31,
"line": 163,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::binary::ChainStep')",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 137,
"message": "function 'clobbersSatisfied' should be marked [[nodiscard]]",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 146,
"message": "function 'pickConst' should be marked [[nodiscard]]",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 281,
"message": "use a ranges version of this algorithm",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 60,
"line": 247,
"message": "string concatenation results in allocation of unnecessary temporary strings; consider using 'operator+=' or 'string::append()' instead",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-inefficient-string-concatenation",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 45,
"line": 20,
"message": "invalid case style for static constant 'pref'",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 45,
"line": 81,
"message": "invalid case style for static constant 'shell'",
"path": "src/binary/rop_chain.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 100,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::binary::Gadget')",
"path": "src/binary/rop_gadgets.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 16,
"message": "use a ranges version of this algorithm",
"path": "src/binary/rop_gadgets.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 78,
"line": 42,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/cli/clang_shard_tu.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 175,
"message": "'fold::cli::(anonymous namespace)::FunctionLocatorVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::cli::(anonymous namespace)::FunctionLocatorVisitor>'",
"path": "src/cli/confirm_runner.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 192,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/cli/confirm_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 194,
"message": "member 'out_' of type 'FunctionMatch &' is a reference",
"path": "src/cli/confirm_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 269,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/cli/confirm_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 465,
"message": "use range-based for loop instead",
"path": "src/cli/confirm_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-loop-convert",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 423,
"message": "use designated initializer list to initialize 'WalkTarget'",
"path": "src/cli/confirm_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 183,
"message": "comparison between 'signed' and 'unsigned' integers",
"path": "src/cli/confirm_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-integer-sign-comparison",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 607,
"message": "use a ranges version of this algorithm",
"path": "src/cli/confirm_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 314,
"message": "use starts_with instead of rfind",
"path": "src/cli/confirm_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 519,
"message": "function 'runConfirm' exceeds recommended size/complexity thresholds",
"path": "src/cli/confirm_runner.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 19,
"message": "use designated initializer list to initialize 'fold::cli::SourceDetectorDescriptor'",
"path": "src/cli/detector_plan.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 49,
"message": "initialization of 'kBinaryLeaves' with static storage duration may throw an exception that cannot be caught",
"path": "src/cli/detector_registry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 53,
"message": "initialization of 'kRustLeaves' with static storage duration may throw an exception that cannot be caught",
"path": "src/cli/detector_registry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 10,
"message": "initialization of 'kSourceLeaves' with static storage duration may throw an exception that cannot be caught",
"path": "src/cli/detector_registry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 58,
"message": "initialization of 'kSwiftLeaves' with static storage duration may throw an exception that cannot be caught",
"path": "src/cli/detector_registry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 92,
"message": "use a ranges version of this algorithm",
"path": "src/cli/detector_registry.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 24,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/cli/finding_evidence.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 18,
"message": "use a ranges version of this algorithm",
"path": "src/cli/finding_evidence.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 438,
"message": "repeated branch body in conditional chain",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 273,
"message": "sorting pointers is nondeterministic",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 355,
"message": "initialization of 'kBinarySeedPatterns' with static storage duration may throw an exception that cannot be caught",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 34,
"line": 217,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 34,
"line": 461,
"message": "do not use array subscript when the index is not an integer constant expression",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-constant-array-index",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 48,
"message": "do not use reinterpret_cast",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-reinterpret-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 219,
"message": "escaped string literal can be written as a raw string literal",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-raw-string-literal",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 356,
"message": "use designated initializer list to initialize 'const BinarySeedPattern'",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 34,
"line": 194,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::confirm::ConfirmationArtifact')",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 273,
"message": "use a ranges version of this algorithm",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 178,
"message": "use starts_with instead of rfind",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 78,
"line": 496,
"message": "string concatenation results in allocation of unnecessary temporary strings; consider using 'operator+=' or 'string::append()' instead",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-inefficient-string-concatenation",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 308,
"message": "'emplace_back' is called inside a loop; consider pre-allocating the container capacity before the loop",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-inefficient-vector-operation",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 388,
"message": "function 'handleBinaryFuzzPrep' exceeds recommended size/complexity thresholds",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 690,
"message": "function 'runFuzzPrep' exceeds recommended size/complexity thresholds",
"path": "src/cli/fuzz_prep_runner.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 28,
"message": "variable 'environ' is non-const and globally accessible, consider making it const",
"path": "src/cli/fuzz_run_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 28,
"message": "variable 'environ' provides global access to a non-const object; consider making the pointed-to data 'const'",
"path": "src/cli/fuzz_run_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 121,
"message": "variable 'actions' is not initialized",
"path": "src/cli/fuzz_run_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 118,
"message": "do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead",
"path": "src/cli/fuzz_run_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-array-to-pointer-decay",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 41,
"line": 89,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/cli/fuzz_run_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 390,
"message": "use designated initializer list to initialize 'ir::SourceLoc'",
"path": "src/cli/fuzz_run_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 34,
"line": 234,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::confirm::ConfirmationArtifact')",
"path": "src/cli/fuzz_run_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 387,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::fuzz::FindingPrediction')",
"path": "src/cli/fuzz_run_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 301,
"message": "use a ranges version of this algorithm",
"path": "src/cli/fuzz_run_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 137,
"message": "use starts_with instead of rfind",
"path": "src/cli/fuzz_run_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 255,
"message": "function 'runFuzzRun' exceeds recommended size/complexity thresholds",
"path": "src/cli/fuzz_run_runner.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 137,
"message": "'fold::cli::(anonymous namespace)::FingerprintCollectorVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::cli::(anonymous namespace)::FingerprintCollectorVisitor>'",
"path": "src/cli/incremental_fingerprint.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 162,
"message": "'fold::cli::(anonymous namespace)::FingerprintCollectorVisitor::VisitFunctionDecl(clang::FunctionDecl *)::SummaryVisitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<SummaryVisitor>'",
"path": "src/cli/incremental_fingerprint.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 174,
"message": "'fold::cli::(anonymous namespace)::FingerprintCollectorVisitor::VisitFunctionDecl(clang::FunctionDecl *)::SummaryVisitor::VisitDeclRefExpr' shadows method with the same name in class 'RecursiveASTVisitor<SummaryVisitor>'",
"path": "src/cli/incremental_fingerprint.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 189,
"message": "'fold::cli::(anonymous namespace)::FingerprintCollectorVisitor::VisitFunctionDecl(clang::FunctionDecl *)::SummaryVisitor::VisitVarDecl' shadows method with the same name in class 'RecursiveASTVisitor<SummaryVisitor>'",
"path": "src/cli/incremental_fingerprint.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 199,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/cli/incremental_fingerprint.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 214,
"message": "member 'mutex_' of type 'std::mutex &' is a reference",
"path": "src/cli/incremental_fingerprint.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 57,
"line": 213,
"message": "member 'out_' of type 'std::unordered_map<std::string, FingerprintRecord> &' (aka 'std::unordered_map<basic_string<char>, FingerprintRecord> &') is a reference",
"path": "src/cli/incremental_fingerprint.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 201,
"message": "member 'record_' of type 'FingerprintRecord &' is a reference",
"path": "src/cli/incremental_fingerprint.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 206,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/cli/incremental_fingerprint.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 337,
"message": "an exception may be thrown in function 'main' which should not throw exceptions",
"path": "src/cli/main.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-exception-escape",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 91,
"message": "use a ranges version of this algorithm",
"path": "src/cli/main.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 91,
"line": 516,
"message": "string concatenation results in allocation of unnecessary temporary strings; consider using 'operator+=' or 'string::append()' instead",
"path": "src/cli/main.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-inefficient-string-concatenation",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 337,
"message": "function 'main' exceeds recommended size/complexity thresholds",
"path": "src/cli/main.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 853,
"message": "invalid case style for variable 'bindFuzzPrepOptions'",
"path": "src/cli/main.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 890,
"message": "invalid case style for variable 'bindFuzzRunOptions'",
"path": "src/cli/main.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 52,
"message": "use emplace_back instead of push_back",
"path": "src/cli/quality_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-emplace",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 20,
"message": "use a ranges version of this algorithm",
"path": "src/cli/scan_preset.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 19,
"message": "invalid case style for variable 'addAlias'",
"path": "src/cli/scan_preset.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 53,
"message": "narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined",
"path": "src/cli/scan_router.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-narrowing-conversions,cppcoreguidelines-narrowing-conversions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 56,
"line": 74,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/cli/scan_router.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 670,
"message": "use emplace_back instead of push_back",
"path": "src/cli/scan_router.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-emplace",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 58,
"message": "use a ranges version of this algorithm",
"path": "src/cli/scan_router.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 75,
"line": 260,
"message": "string concatenation results in allocation of unnecessary temporary strings; consider using 'operator+=' or 'string::append()' instead",
"path": "src/cli/scan_router.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-inefficient-string-concatenation",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 591,
"message": "function 'runScanRouter' exceeds recommended size/complexity thresholds",
"path": "src/cli/scan_router.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 50,
"line": 411,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/cli/scan_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 523,
"message": "use designated initializer list to initialize 'SourceTuRunnerConfig'",
"path": "src/cli/scan_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 388,
"message": "function 'runClangDetectorsOnShard' exceeds recommended size/complexity thresholds",
"path": "src/cli/scan_runner.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 28,
"message": "the value returned by this function should not be disregarded; neglecting it may lead to errors",
"path": "src/cli/signal_isolation.cpp",
"rationale_ref": "correctness-debt",
"rule": "cert-err33-c",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 36,
"line": 19,
"message": "variable 'g_caught_signal' is non-const and globally accessible, consider making it const",
"path": "src/cli/signal_isolation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 22,
"message": "variable 'g_installed' is non-const and globally accessible, consider making it const",
"path": "src/cli/signal_isolation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 20,
"message": "variable 'g_isolation_active' is non-const and globally accessible, consider making it const",
"path": "src/cli/signal_isolation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 18,
"message": "variable 'g_isolation_buf' is non-const and globally accessible, consider making it const",
"path": "src/cli/signal_isolation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 44,
"message": "do not manage memory manually; consider a container or a smart pointer",
"path": "src/cli/signal_isolation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-no-malloc",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 33,
"message": "do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead",
"path": "src/cli/signal_isolation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-array-to-pointer-decay",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 61,
"message": "invalid case style for variable 'kFatalSignals'",
"path": "src/cli/signal_isolation.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 46,
"message": "repeated branch body in conditional chain",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 220,
"message": "'fold::cli::buildProjectCallGraph(clang::tooling::CompilationDatabase &, const std::vector<std::string> &, ir::ProjectCallGraph &)::CallGraphAction::CreateASTConsumer(clang::CompilerInstance &, llvm::StringRef)::Consumer::HandleTranslationUnit(clang::ASTContext &)::Visitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 259,
"message": "'fold::cli::buildProjectCallGraph(clang::tooling::CompilationDatabase &, const std::vector<std::string> &, ir::ProjectCallGraph &)::CallGraphAction::CreateASTConsumer(clang::CompilerInstance &, llvm::StringRef)::Consumer::HandleTranslationUnit(clang::ASTContext &)::Visitor::VisitFunctionDecl(clang::FunctionDecl *)::CallVisitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<CallVisitor>'",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 400,
"message": "'fold::cli::collectCallGraphEdges(const clang::ASTContext &, ir::ProjectCallGraph &, detect::CallGraphContribution *)::Visitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 425,
"message": "'fold::cli::collectCallGraphEdges(const clang::ASTContext &, ir::ProjectCallGraph &, detect::CallGraphContribution *)::Visitor::VisitFunctionDecl(clang::FunctionDecl *)::CallVisitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<CallVisitor>'",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 52,
"line": 312,
"message": "member 'context_' of type 'clang::ASTContext &' is a reference",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 42,
"line": 450,
"message": "member 'context_' of type 'const clang::ASTContext &' is a reference",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 98,
"message": "member 'graph' of type 'ir::ProjectCallGraph &' is a reference",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 451,
"message": "member 'graph_' of type 'ir::ProjectCallGraph &' is a reference",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 333,
"message": "member 'state' of type 'CallGraphBuildState &' is a reference",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 54,
"line": 313,
"message": "member 'state_' of type 'CallGraphBuildState &' is a reference",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 47,
"line": 138,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 141,
"message": "use range-based for loop instead",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-loop-convert",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 444,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::detect::CallGraphCallee')",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 45,
"line": 209,
"message": "function 'CreateASTConsumer' exceeds recommended size/complexity thresholds",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 214,
"message": "function 'HandleTranslationUnit' exceeds recommended size/complexity thresholds",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 6,
"line": 201,
"message": "function 'buildProjectCallGraph' exceeds recommended size/complexity thresholds",
"path": "src/cli/source_call_graph.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 74,
"message": "'fold::cli::(anonymous namespace)::computeSummariesForFunctions(clang::tooling::CompilationDatabase &, const std::vector<std::string> &, const std::unordered_set<std::string> &, bool)::SummaryAction::CreateASTConsumer(clang::CompilerInstance &, llvm::StringRef)::Consumer::HandleTranslationUnit(clang::ASTContext &)::Visitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/cli/source_summary_pipeline.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 142,
"message": "member 'changed' of type 'bool &' is a reference",
"path": "src/cli/source_summary_pipeline.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 31,
"line": 133,
"message": "member 'changed_' of type 'bool &' is a reference",
"path": "src/cli/source_summary_pipeline.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 143,
"message": "member 'changed_mutex' of type 'std::mutex &' is a reference",
"path": "src/cli/source_summary_pipeline.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 134,
"message": "member 'changed_mutex_' of type 'std::mutex &' is a reference",
"path": "src/cli/source_summary_pipeline.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 44,
"line": 130,
"message": "member 'context_' of type 'clang::ASTContext &' is a reference",
"path": "src/cli/source_summary_pipeline.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 56,
"line": 140,
"message": "member 'target_names' of type 'const std::unordered_set<std::string> &' (aka 'const std::unordered_set<basic_string<char>> &') is a reference",
"path": "src/cli/source_summary_pipeline.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 64,
"line": 131,
"message": "member 'target_names_' of type 'const std::unordered_set<std::string> &' (aka 'const std::unordered_set<basic_string<char>> &') is a reference",
"path": "src/cli/source_summary_pipeline.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 269,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/cli/source_summary_pipeline.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 126,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/cli/source_summary_pipeline.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 6,
"line": 39,
"message": "function 'computeSummariesForFunctions' exceeds recommended size/complexity thresholds",
"path": "src/cli/source_summary_pipeline.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 128,
"message": "member 'always_condition_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 119,
"message": "member 'class_dup_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 117,
"message": "member 'dead_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 111,
"message": "member 'detector_plan' of type 'const SourceDetectorPlan &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 43,
"line": 116,
"message": "member 'detector_profiles' of type 'std::vector<DetectorProfile> &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 120,
"message": "member 'div_by_zero_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 130,
"message": "member 'double_free_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 118,
"message": "member 'equiv_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 115,
"message": "member 'findings' of type 'std::vector<Finding> &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 45,
"line": 114,
"message": "member 'func_summaries' of type 'std::vector<SerializedSummary> &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 112,
"message": "member 'include_intra_tu_equiv' of type 'const bool' is const qualified",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 122,
"message": "member 'int_overflow_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 123,
"message": "member 'int_truncation_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 132,
"message": "member 'memory_leak_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 121,
"message": "member 'null_deref_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 125,
"message": "member 'oob_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 110,
"message": "member 'opts' of type 'const ScanOptions &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 135,
"message": "member 'prefilter_skipped_tus' of type 'std::size_t &' (aka 'unsigned long &') is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 131,
"message": "member 'redundant_store_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 124,
"message": "member 'sign_conversion_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 127,
"message": "member 'sql_injection_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 31,
"line": 109,
"message": "member 'state' of type 'SourceTuRunState &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 836,
"message": "member 'state_' of type 'SourceTuRunState &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 43,
"line": 113,
"message": "member 'summaries' of type 'std::vector<FunctionSummary> &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 126,
"message": "member 'taint_track_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 129,
"message": "member 'unreachable_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 133,
"message": "member 'use_after_move_stats' of type 'SolverStats &' is a reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 790,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 7,
"line": 67,
"message": "class 'FunctionFilterScope' defines a non-default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 63,
"line": 188,
"message": "use designated initializer list to initialize 'ClangShardTuState'",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 668,
"message": "function 'enabledSecurityDetectorCount' should be marked [[nodiscard]]",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 659,
"message": "function 'makeBudget' should be marked [[nodiscard]]",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 65,
"line": 678,
"message": "the parameter 'factory' of type 'SecurityObserverFactory' (aka 'std::function<std::unique_ptr<SafetyObserver> (clang::ASTContext &, const SolverBudget &, SolverStats &, std::vector<Finding> &)>') is copied for each invocation but only used as a const reference; consider making it a const reference",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-unnecessary-value-param",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 41,
"line": 105,
"message": "function 'CreateASTConsumer' exceeds recommended size/complexity thresholds",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 197,
"message": "function 'handleTranslationUnitImpl' exceeds recommended size/complexity thresholds",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 691,
"message": "function 'runCompositeSecurityDetectors' exceeds recommended size/complexity thresholds",
"path": "src/cli/source_tu_runner.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 325,
"message": "repeated branch body in conditional chain",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 296,
"message": "an exception may be thrown in function '(lambda at ../../src/cli/subprocess_fanout.cpp:296:17)' which should not throw exceptions",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-exception-escape",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 339,
"message": "an exception may be thrown in function '~SubprocessFanout' which should not throw exceptions",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-exception-escape",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 70,
"line": 222,
"message": "narrowing conversion from 'std::size_t' (aka 'unsigned long') to signed type 'difference_type' (aka 'long') is implementation-defined",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-narrowing-conversions,cppcoreguidelines-narrowing-conversions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 35,
"message": "variable 'environ' is non-const and globally accessible, consider making it const",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 35,
"message": "variable 'environ' provides global access to a non-const object; consider making the pointed-to data 'const'",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 251,
"message": "variable 'actions' is not initialized",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 262,
"message": "variable 'attrs' is not initialized",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 242,
"message": "do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-array-to-pointer-decay",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 63,
"line": 188,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 273,
"message": "do not use const_cast to remove const qualifier",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 246,
"message": "do not call c-style vararg functions",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-vararg",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 3,
"message": "inclusion of deprecated C++ header 'errno.h'; consider using 'cerrno' instead",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-deprecated-headers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 5,
"message": "inclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-deprecated-headers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 315,
"message": "use designated initializer list to initialize 'ChildProc'",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 433,
"message": "use emplace_back instead of push_back",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-emplace",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 126,
"message": "use a ranges version of this algorithm",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 90,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 82,
"message": "function 'runShardWithRecovery' exceeds recommended size/complexity thresholds",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 40,
"line": 382,
"message": "function 'runSync' exceeds recommended size/complexity thresholds",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 42,
"message": "redundant 'executablePath' declaration",
"path": "src/cli/subprocess_fanout.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-declaration",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 56,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/cli/tu_quarantine.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 91,
"message": "'fold::cli::(anonymous namespace)::TUFunctionBodyScanner::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::cli::(anonymous namespace)::TUFunctionBodyScanner>'",
"path": "src/cli/tu_security_prefilter.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 38,
"message": "'fold::cli::(anonymous namespace)::TUSecurityScanVisitor::VisitArraySubscriptExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::cli::(anonymous namespace)::TUSecurityScanVisitor>'",
"path": "src/cli/tu_security_prefilter.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 43,
"message": "'fold::cli::(anonymous namespace)::TUSecurityScanVisitor::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::cli::(anonymous namespace)::TUSecurityScanVisitor>'",
"path": "src/cli/tu_security_prefilter.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 70,
"message": "'fold::cli::(anonymous namespace)::TUSecurityScanVisitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::cli::(anonymous namespace)::TUSecurityScanVisitor>'",
"path": "src/cli/tu_security_prefilter.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 32,
"message": "'fold::cli::(anonymous namespace)::TUSecurityScanVisitor::VisitMemberExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::cli::(anonymous namespace)::TUSecurityScanVisitor>'",
"path": "src/cli/tu_security_prefilter.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 26,
"message": "'fold::cli::(anonymous namespace)::TUSecurityScanVisitor::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::cli::(anonymous namespace)::TUSecurityScanVisitor>'",
"path": "src/cli/tu_security_prefilter.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 106,
"message": "member 'sm_' of type 'const clang::SourceManager &' is a reference",
"path": "src/cli/tu_security_prefilter.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 131,
"message": "do not use const_cast to remove const qualifier",
"path": "src/cli/tu_security_prefilter.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 89,
"message": "function 'found' should be marked [[nodiscard]]",
"path": "src/cli/tu_security_prefilter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 24,
"message": "function 'hasCandidate' should be marked [[nodiscard]]",
"path": "src/cli/tu_security_prefilter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 220,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/confirm/confirmation_task.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 92,
"message": "function 'parseFindingKind' exceeds recommended size/complexity thresholds",
"path": "src/confirm/confirmation_task.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 480,
"message": "'fold::(anonymous namespace)::AlwaysConditionVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::AlwaysConditionVisitor>'",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 118,
"message": "'fold::(anonymous namespace)::collectAssignedVars(const clang::Stmt *)::Visitor::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 127,
"message": "'fold::(anonymous namespace)::collectAssignedVars(const clang::Stmt *)::Visitor::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 94,
"message": "'fold::(anonymous namespace)::containsCallExpr(const clang::Stmt *)::Visitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 441,
"message": "iteration of pointers is nondeterministic",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 72,
"line": 445,
"message": "unchecked access to optional value",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-unchecked-optional-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 596,
"message": "member 'b_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 464,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 577,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 462,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 599,
"message": "member 'm_' of type 'std::mutex &' is a reference",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 467,
"message": "member 'modeling_' of type 'const ModelingOptions &' is a reference",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 598,
"message": "member 'o_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 466,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 581,
"message": "member 'out_mtx_' of type 'std::mutex &' is a reference",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 597,
"message": "member 's_' of type 'SolverStats &' is a reference",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 465,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 99,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 163,
"message": "pass by value and use std::move",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-pass-by-value",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 503,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/detect/always_condition.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 185,
"message": "'fold::(anonymous namespace)::ClassVisitor::VisitCXXRecordDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::ClassVisitor>'",
"path": "src/detect/class_dup.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 264,
"message": "member 'b_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/class_dup.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 200,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/class_dup.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 267,
"message": "member 'm_' of type 'std::mutex &' is a reference",
"path": "src/detect/class_dup.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 266,
"message": "member 'o_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/class_dup.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 47,
"line": 201,
"message": "member 'out_' of type 'std::vector<const clang::CXXRecordDecl *> &' is a reference",
"path": "src/detect/class_dup.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 265,
"message": "member 's_' of type 'SolverStats &' is a reference",
"path": "src/detect/class_dup.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 34,
"line": 104,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/class_dup.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 101,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/detect/class_dup.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 55,
"message": "use a ranges version of this algorithm",
"path": "src/detect/class_dup.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 258,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/detect/class_dup.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 101,
"message": "redundant explicit casting to the same type 'z3::context' as the sub-expression, remove this casting",
"path": "src/detect/class_dup.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-casting",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 68,
"line": 167,
"message": "narrowing conversion from 'size_t' (aka 'unsigned long') to 'double'",
"path": "src/detect/clone.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-narrowing-conversions,cppcoreguidelines-narrowing-conversions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 244,
"message": "conversion from 'std::optional<double>' into 'double' and back into 'std::optional<double>', remove potentially error-prone optional dereference",
"path": "src/detect/clone.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-optional-value-conversion",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 80,
"line": 61,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/clone.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 31,
"line": 283,
"message": "use designated initializer list to initialize 'const DedupKey'",
"path": "src/detect/clone.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 47,
"line": 212,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::Location')",
"path": "src/detect/clone.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 6,
"line": 125,
"message": "function 'clusterByKey' exceeds recommended size/complexity thresholds",
"path": "src/detect/clone.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 131,
"message": "invalid case style for variable 'keyFor'",
"path": "src/detect/clone.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 63,
"line": 174,
"message": "do not use C-style cast to convert between unrelated types",
"path": "src/detect/clone_hash_cache.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-cstyle-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 66,
"message": "do not use reinterpret_cast",
"path": "src/detect/clone_hash_cache.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-reinterpret-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 170,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/detect/clone_hash_cache.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 63,
"line": 174,
"message": "integer to pointer cast pessimizes optimization opportunities",
"path": "src/detect/clone_hash_cache.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-no-int-to-ptr",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 12,
"message": "function 'CloneHashCache' exceeds recommended size/complexity thresholds",
"path": "src/detect/clone_hash_cache.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 76,
"message": "invalid case style for constexpr variable 'legacy_db_compatible'",
"path": "src/detect/clone_hash_cache.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 61,
"message": "'fold::(anonymous namespace)::ComplexityVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::ComplexityVisitor>'",
"path": "src/detect/complexity.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 104,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/complexity.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 127,
"message": "member 'out' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/complexity.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 106,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/complexity.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 83,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::detect::CrossTUCacheEntry')",
"path": "src/detect/cross_tu_cache.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 54,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/detect/cross_tu_cache.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 6,
"line": 94,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/cross_tu_cache_io.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 332,
"message": "use a ranges version of this algorithm",
"path": "src/detect/cross_tu_cache_io.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 31,
"line": 310,
"message": "use starts_with instead of substr",
"path": "src/detect/cross_tu_cache_io.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 543,
"message": "'fold::(anonymous namespace)::DeadVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::DeadVisitor>'",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 170,
"message": "'fold::(anonymous namespace)::collectAssignedVars(const clang::Stmt *)::Visitor::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 179,
"message": "'fold::(anonymous namespace)::collectAssignedVars(const clang::Stmt *)::Visitor::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 146,
"message": "'fold::(anonymous namespace)::containsCallExpr(const clang::Stmt *)::Visitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 36,
"line": 393,
"message": "iteration of pointers is nondeterministic",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 72,
"line": 397,
"message": "unchecked access to optional value",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-unchecked-optional-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 605,
"message": "member 'b_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 527,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 586,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 525,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 608,
"message": "member 'm_' of type 'std::mutex &' is a reference",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 591,
"message": "member 'modeling_' of type 'const ModelingOptions &' is a reference",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 607,
"message": "member 'o_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 529,
"message": "member 'out_' of type 'std::vector<DeadResult> &' is a reference",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 589,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 590,
"message": "member 'out_mtx_' of type 'std::mutex &' is a reference",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 606,
"message": "member 's_' of type 'SolverStats &' is a reference",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 528,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 96,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 151,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 95,
"message": "use range-based for loop instead",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-loop-convert",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 67,
"line": 217,
"message": "pass by value and use std::move",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-pass-by-value",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 55,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 421,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::(anonymous namespace)::DeadResult')",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 565,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 369,
"message": "function 'walkIf' exceeds recommended size/complexity thresholds",
"path": "src/detect/dead_branch.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 88,
"message": "'fold::(anonymous namespace)::DeadStatementVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::DeadStatementVisitor>'",
"path": "src/detect/dead_statement.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 243,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/dead_statement.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 264,
"message": "member 'out' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/dead_statement.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 244,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/dead_statement.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 66,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/dead_statement.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 88,
"message": "function 'VisitFunctionDecl' exceeds recommended size/complexity thresholds",
"path": "src/detect/dead_statement.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 27,
"message": "'fold::(anonymous namespace)::DeprecatedCallVisitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::DeprecatedCallVisitor>'",
"path": "src/detect/deprecated_api.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 111,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/deprecated_api.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 112,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/deprecated_api.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 83,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/deprecated_api.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 86,
"message": "'fold::(anonymous namespace)::DeprecatedBannedVisitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::DeprecatedBannedVisitor>'",
"path": "src/detect/deprecated_api_detect.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 32,
"message": "initialization of 'kConditionallyBanned' with static storage duration may throw an exception that cannot be caught",
"path": "src/detect/deprecated_api_detect.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 52,
"line": 38,
"message": "initialization of 'kReplacements' with static storage duration may throw an exception that cannot be caught",
"path": "src/detect/deprecated_api_detect.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 21,
"message": "initialization of 'kUnconditionallyBanned' with static storage duration may throw an exception that cannot be caught",
"path": "src/detect/deprecated_api_detect.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 168,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/deprecated_api_detect.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 169,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/deprecated_api_detect.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 103,
"message": "use starts_with instead of rfind",
"path": "src/detect/deprecated_api_detect.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 276,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "src/detect/div_by_zero.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 405,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/div_by_zero.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 404,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/div_by_zero.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 407,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/div_by_zero.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 406,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/div_by_zero.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 176,
"message": "variable 'result' is not initialized",
"path": "src/detect/div_by_zero.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 349,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/div_by_zero.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 348,
"message": "use range-based for loop instead",
"path": "src/detect/div_by_zero.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-loop-convert",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 149,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/detect/div_by_zero.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 325,
"message": "function 'buildAssumptions' should be marked [[nodiscard]]",
"path": "src/detect/div_by_zero.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 122,
"message": "function 'onDivision' exceeds recommended size/complexity thresholds",
"path": "src/detect/div_by_zero.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 127,
"message": "invalid case style for variable '_t'",
"path": "src/detect/div_by_zero.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 128,
"message": "invalid case style for variable 'rhsExpr'",
"path": "src/detect/div_by_zero.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 61,
"message": "switch has 2 consecutive identical branches",
"path": "src/detect/div_by_zero_guard_context.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 622,
"message": "'fold::div_zero_detail::analyzeDivCallee(const clang::FunctionDecl *)::DivParamFinder::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<DivParamFinder>'",
"path": "src/detect/div_by_zero_guard_context.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 34,
"line": 637,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/div_by_zero_guard_context.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 636,
"message": "member 'props_' of type 'detect::CalleeProperties &' is a reference",
"path": "src/detect/div_by_zero_guard_context.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 44,
"line": 251,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/div_by_zero_guard_context.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 556,
"message": "do not use array subscript when the index is not an integer constant expression",
"path": "src/detect/div_by_zero_guard_context.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-constant-array-index",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 248,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/div_by_zero_guard_context.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 369,
"message": "use range-based for loop instead",
"path": "src/detect/div_by_zero_guard_context.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-loop-convert",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 251,
"message": "use auto when initializing with a template cast to avoid duplicating the type name",
"path": "src/detect/div_by_zero_guard_context.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 39,
"message": "use designated initializer list to initialize 'VarMinusLiteral'",
"path": "src/detect/div_by_zero_guard_context.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 454,
"message": "use a ranges version of this algorithm",
"path": "src/detect/div_by_zero_guard_context.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 264,
"message": "std::move of the variable 'next' of the trivially-copyable type 'DynTypedNodeList' has no effect; remove std::move()",
"path": "src/detect/div_by_zero_guard_context.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-move-const-arg",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 317,
"message": "'fold::div_zero_detail::AssignmentToVarFinder::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::div_zero_detail::AssignmentToVarFinder>'",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 326,
"message": "'fold::div_zero_detail::AssignmentToVarFinder::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::div_zero_detail::AssignmentToVarFinder>'",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 356,
"message": "'fold::div_zero_detail::PriorMutationFinder::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::div_zero_detail::PriorMutationFinder>'",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 375,
"message": "'fold::div_zero_detail::PriorMutationFinder::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::div_zero_detail::PriorMutationFinder>'",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 364,
"message": "'fold::div_zero_detail::PriorMutationFinder::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::div_zero_detail::PriorMutationFinder>'",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 34,
"message": "'fold::div_zero_detail::containsPotentialDivisionSink(const clang::Stmt *)::Visitor::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 39,
"message": "'fold::div_zero_detail::containsPotentialDivisionSink(const clang::Stmt *)::Visitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 402,
"message": "member 'sm_' of type 'const clang::SourceManager &' is a reference",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 58,
"line": 500,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 48,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 500,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 397,
"message": "function 'beforeUse' should be marked [[nodiscard]]",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 43,
"message": "function 'found' should be marked [[nodiscard]]",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 394,
"message": "function 'mutated' should be marked [[nodiscard]]",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 102,
"message": "use a ranges version of this algorithm",
"path": "src/detect/div_by_zero_guard_facts.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 84,
"message": "narrowing conversion from 'std::uint32_t' (aka 'unsigned int') to signed type 'int' is implementation-defined",
"path": "src/detect/double_free.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-narrowing-conversions,cppcoreguidelines-narrowing-conversions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 145,
"message": "member 'b_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/double_free.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 147,
"message": "member 'o_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/double_free.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 93,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/double_free.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 146,
"message": "member 's_' of type 'SolverStats &' is a reference",
"path": "src/detect/double_free.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 95,
"message": "'fold::(anonymous namespace)::EquivVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::EquivVisitor>'",
"path": "src/detect/equiv.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 244,
"message": "member 'b_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/equiv.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 112,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/equiv.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 247,
"message": "member 'm_' of type 'std::mutex &' is a reference",
"path": "src/detect/equiv.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 246,
"message": "member 'o_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/equiv.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 46,
"line": 113,
"message": "member 'out_' of type 'std::vector<const clang::FunctionDecl *> &' is a reference",
"path": "src/detect/equiv.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 245,
"message": "member 's_' of type 'SolverStats &' is a reference",
"path": "src/detect/equiv.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 36,
"line": 127,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/equiv.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 120,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/equiv.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 120,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/detect/equiv.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 238,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/detect/equiv.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 384,
"message": "invalid case style for variable 'getParsed'",
"path": "src/detect/equiv.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 45,
"message": "'fold::(anonymous namespace)::FormatStringVisitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::FormatStringVisitor>'",
"path": "src/detect/format_string.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 49,
"line": 25,
"message": "initialization of 'kFormatArgPositions' with static storage duration may throw an exception that cannot be caught",
"path": "src/detect/format_string.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 136,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/format_string.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 137,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/format_string.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 18,
"message": "'fold::detect::(anonymous namespace)::FunctionDefVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::detect::(anonymous namespace)::FunctionDefVisitor>'",
"path": "src/detect/function_enumeration.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 226,
"message": "'fold::(anonymous namespace)::HardcodedCredentialVisitor::VisitFieldDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::HardcodedCredentialVisitor>'",
"path": "src/detect/hardcoded_credential.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 174,
"message": "'fold::(anonymous namespace)::HardcodedCredentialVisitor::VisitStringLiteral' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::HardcodedCredentialVisitor>'",
"path": "src/detect/hardcoded_credential.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 200,
"message": "'fold::(anonymous namespace)::HardcodedCredentialVisitor::VisitVarDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::HardcodedCredentialVisitor>'",
"path": "src/detect/hardcoded_credential.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 282,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/hardcoded_credential.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 283,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/hardcoded_credential.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 31,
"line": 62,
"message": "use designated initializer list to initialize 'CredentialMatch'",
"path": "src/detect/hardcoded_credential.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 31,
"message": "use a ranges version of this algorithm",
"path": "src/detect/hardcoded_credential.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 66,
"message": "use starts_with instead of rfind",
"path": "src/detect/hardcoded_credential.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 183,
"message": "sorting pointers is nondeterministic",
"path": "src/detect/incremental_cache.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 53,
"line": 25,
"message": "variable 'g_active_filter' is non-const and globally accessible, consider making it const",
"path": "src/detect/incremental_cache.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 65,
"line": 63,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/incremental_cache.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 183,
"message": "use a ranges version of this algorithm",
"path": "src/detect/incremental_cache.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 410,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 807,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 806,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 809,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 808,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 307,
"message": "variable 'result' is not initialized",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 415,
"message": "do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-array-to-pointer-decay",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 48,
"line": 484,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 480,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 594,
"message": "use range-based for loop instead",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-loop-convert",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 265,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 484,
"message": "use auto when initializing with a template cast to avoid duplicating the type name",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 571,
"message": "function 'buildAssumptions' should be marked [[nodiscard]]",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 505,
"message": "std::move of the variable 'next' of the trivially-copyable type 'DynTypedNodeList' has no effect; remove std::move()",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-move-const-arg",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 145,
"message": "function 'onBinaryArith' exceeds recommended size/complexity thresholds",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 149,
"message": "invalid case style for variable '_t'",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 150,
"message": "invalid case style for variable 'lhsExpr'",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 151,
"message": "invalid case style for variable 'rhsExpr'",
"path": "src/detect/int_overflow.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 93,
"line": 536,
"message": "repeated branch body in conditional chain",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 229,
"message": "'fold::int_overflow_detail::PriorCounterMutationAnalyzer::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::int_overflow_detail::PriorCounterMutationAnalyzer>'",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 217,
"message": "'fold::int_overflow_detail::PriorCounterMutationAnalyzer::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::int_overflow_detail::PriorCounterMutationAnalyzer>'",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 339,
"message": "'fold::int_overflow_detail::aliasInitializedFrom(const clang::FunctionDecl *, const clang::VarDecl *, clang::SourceLocation)::Visitor::VisitVarDecl' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 578,
"message": "'fold::int_overflow_detail::analyzeOverflowCallee(const clang::FunctionDecl *)::ArithParamFinder::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<ArithParamFinder>'",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 529,
"message": "'fold::int_overflow_detail::containsPotentialOverflowSink(const clang::Stmt *)::Visitor::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 545,
"message": "'fold::int_overflow_detail::containsPotentialOverflowSink(const clang::Stmt *)::Visitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 141,
"message": "sorting pointers is nondeterministic",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 614,
"message": "member 'props_' of type 'detect::CalleeProperties &' is a reference",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 246,
"message": "member 'sm_' of type 'const clang::SourceManager &' is a reference",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 44,
"line": 196,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 192,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 196,
"message": "use auto when initializing with a template cast to avoid duplicating the type name",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 52,
"message": "use designated initializer list to initialize 'IntInterval'",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 351,
"message": "function 'alias' should be marked [[nodiscard]]",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 237,
"message": "function 'bad' should be marked [[nodiscard]]",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 241,
"message": "function 'beforeUse' should be marked [[nodiscard]]",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 549,
"message": "function 'found' should be marked [[nodiscard]]",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 238,
"message": "function 'increments' should be marked [[nodiscard]]",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 141,
"message": "use a ranges version of this algorithm",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 446,
"message": "std::move of the variable 'next' of the trivially-copyable type 'DynTypedNodeList' has no effect; remove std::move()",
"path": "src/detect/int_overflow_analysis.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-move-const-arg",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 155,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "src/detect/int_truncation.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 262,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/int_truncation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 261,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/int_truncation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 264,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/int_truncation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 263,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/int_truncation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 81,
"message": "variable 'result' is not initialized",
"path": "src/detect/int_truncation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 227,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/int_truncation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 226,
"message": "use range-based for loop instead",
"path": "src/detect/int_truncation.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-loop-convert",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 68,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/detect/int_truncation.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 203,
"message": "function 'buildAssumptions' should be marked [[nodiscard]]",
"path": "src/detect/int_truncation.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 64,
"message": "invalid case style for variable '_t'",
"path": "src/detect/int_truncation.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 107,
"message": "'fold::(anonymous namespace)::FunctionCollector::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::FunctionCollector>'",
"path": "src/detect/iterator_invalidation.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 585,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/iterator_invalidation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 586,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/iterator_invalidation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 121,
"message": "member 'sm_' of type 'const clang::SourceManager &' is a reference",
"path": "src/detect/iterator_invalidation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 118,
"message": "function 'definitions' should be marked [[nodiscard]]",
"path": "src/detect/iterator_invalidation.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 67,
"message": "use starts_with instead of find",
"path": "src/detect/iterator_invalidation.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 290,
"message": "invalid case style for variable 'doLoop'",
"path": "src/detect/iterator_invalidation.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 268,
"message": "invalid case style for variable 'forLoop'",
"path": "src/detect/iterator_invalidation.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 284,
"message": "invalid case style for variable 'whileLoop'",
"path": "src/detect/iterator_invalidation.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 296,
"message": "'fold::(anonymous namespace)::MemoryLeakVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::MemoryLeakVisitor>'",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 36,
"line": 190,
"message": "iteration of pointers is nondeterministic",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 72,
"line": 194,
"message": "unchecked access to optional value",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-unchecked-optional-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 418,
"message": "member 'b_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 283,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 370,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 281,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 420,
"message": "member 'o_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 373,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 419,
"message": "member 's_' of type 'SolverStats &' is a reference",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 372,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 77,
"line": 67,
"message": "pass by value and use std::move",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-pass-by-value",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 49,
"line": 353,
"message": "string concatenation results in allocation of unnecessary temporary strings; consider using 'operator+=' or 'string::append()' instead",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-inefficient-string-concatenation",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 171,
"message": "function 'walkIf' exceeds recommended size/complexity thresholds",
"path": "src/detect/memory_leak.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 366,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 870,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 869,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 872,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 871,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 236,
"message": "variable 'result' is not initialized",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 497,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 42,
"line": 435,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 496,
"message": "use range-based for loop instead",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-loop-convert",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 215,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 259,
"message": "use designated initializer list to initialize 'QueryInfo'",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 473,
"message": "function 'buildAssumptions' should be marked [[nodiscard]]",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 857,
"message": "function 'inferInputChannel' should be marked [[nodiscard]]",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 429,
"message": "function 'isNullableDef' should be marked [[nodiscard]]",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 414,
"message": "function 'isSafeNonNullDef' should be marked [[nodiscard]]",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 181,
"message": "function 'onPointerDeref' exceeds recommended size/complexity thresholds",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 186,
"message": "invalid case style for variable '_t'",
"path": "src/detect/null_deref.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 406,
"message": "'fold::null_deref_detail::analyzeNullCallee(const clang::FunctionDecl *)::DerefParamFinder::VisitArraySubscriptExpr' shadows method with the same name in class 'RecursiveASTVisitor<DerefParamFinder>'",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 391,
"message": "'fold::null_deref_detail::analyzeNullCallee(const clang::FunctionDecl *)::DerefParamFinder::VisitMemberExpr' shadows method with the same name in class 'RecursiveASTVisitor<DerefParamFinder>'",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 421,
"message": "'fold::null_deref_detail::analyzeNullCallee(const clang::FunctionDecl *)::DerefParamFinder::VisitReturnStmt' shadows method with the same name in class 'RecursiveASTVisitor<DerefParamFinder>'",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 376,
"message": "'fold::null_deref_detail::analyzeNullCallee(const clang::FunctionDecl *)::DerefParamFinder::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<DerefParamFinder>'",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 571,
"message": "'fold::null_deref_detail::buildStaticParamContracts(const clang::ASTContext &)::Visitor::TraverseFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 578,
"message": "'fold::null_deref_detail::buildStaticParamContracts(const clang::ASTContext &)::Visitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 68,
"message": "'fold::null_deref_detail::containsPotentialNullSink(const clang::Stmt *)::Visitor::VisitArraySubscriptExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 72,
"message": "'fold::null_deref_detail::containsPotentialNullSink(const clang::Stmt *)::Visitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 63,
"message": "'fold::null_deref_detail::containsPotentialNullSink(const clang::Stmt *)::Visitor::VisitMemberExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 58,
"message": "'fold::null_deref_detail::containsPotentialNullSink(const clang::Stmt *)::Visitor::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 34,
"line": 304,
"message": "iteration of pointers is nondeterministic",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 34,
"line": 438,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 45,
"line": 437,
"message": "member 'guarded_' of type 'const std::unordered_set<unsigned int> &' is a reference",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 67,
"line": 598,
"message": "member 'param_sizes_' of type 'std::unordered_map<const clang::FunctionDecl *, unsigned int> &' is a reference",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 436,
"message": "member 'props_' of type 'detect::CalleeProperties &' is a reference",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 597,
"message": "member 'records_' of type 'std::vector<ArgRecord> &' is a reference",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 44,
"line": 104,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 81,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 104,
"message": "use auto when initializing with a template cast to avoid duplicating the type name",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 45,
"line": 590,
"message": "use designated initializer list to initialize 'ArgRecord'",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 76,
"message": "function 'found' should be marked [[nodiscard]]",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 152,
"message": "use a ranges version of this algorithm",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 40,
"line": 343,
"message": "use starts_with instead of rfind",
"path": "src/detect/null_deref_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 52,
"line": 169,
"message": "repeated branch body in conditional chain",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 92,
"message": "'fold::(anonymous namespace)::OOBObserver::seedInterproceduralContext(clang::ASTContext &)::(lambda)::operator()(clang::FunctionDecl *)::CallSiteSeeder::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<CallSiteSeeder>'",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 11,
"line": 216,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 865,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 36,
"line": 117,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 864,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 867,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 81,
"line": 118,
"message": "member 'sizes_' of type 'std::map<std::pair<const clang::FunctionDecl *, unsigned int>, int> &' is a reference",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 866,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 277,
"message": "variable 'result' is not initialized",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 586,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 585,
"message": "use range-based for loop instead",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-loop-convert",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 202,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 40,
"line": 608,
"message": "use designated initializer list to initialize 'SizeInfo'",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 561,
"message": "function 'buildAssumptions' should be marked [[nodiscard]]",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 747,
"message": "function 'buildPathHint' should be marked [[nodiscard]]",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 850,
"message": "function 'inferInputChannel' should be marked [[nodiscard]]",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 491,
"message": "local copy 'hazard' of the variable 'unsafe' of type 'z3::expr' is never modified; consider avoiding the copy",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-unnecessary-copy-initialization",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 220,
"message": "function 'onArraySubscript' exceeds recommended size/complexity thresholds",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 226,
"message": "invalid case style for variable '_t'",
"path": "src/detect/oob_access.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 353,
"message": "an assignment within an 'if' condition is bug-prone",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-assignment-in-if-condition",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 257,
"message": "'fold::oob_access_detail::analyzeOobCallee(const clang::FunctionDecl *)::Visitor::VisitArraySubscriptExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 263,
"message": "'fold::oob_access_detail::analyzeOobCallee(const clang::FunctionDecl *)::Visitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 203,
"message": "'fold::oob_access_detail::collectReferencedParams(const clang::Stmt *, std::set<unsigned int> &)::Visitor::VisitDeclRefExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 118,
"message": "'fold::oob_access_detail::containsPotentialOobSink(const clang::Stmt *)::Visitor::VisitArraySubscriptExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 122,
"message": "'fold::oob_access_detail::containsPotentialOobSink(const clang::Stmt *)::Visitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 381,
"message": "'fold::oob_access_detail::smallCounterBoundedByLocalArrayLen(const clang::FunctionDecl *, const clang::Expr *, int, const ir::SourceLoc &)::IncrementCounter::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<IncrementCounter>'",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 275,
"message": "member 'props_' of type 'detect::CalleeProperties &' is a reference",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 211,
"message": "member 'refs_' of type 'std::set<unsigned int> &' is a reference",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 394,
"message": "member 'sm_' of type 'const clang::SourceManager &' is a reference",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 41,
"line": 327,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 134,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 11,
"line": 537,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 129,
"message": "function 'found' should be marked [[nodiscard]]",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 391,
"message": "function 'increments' should be marked [[nodiscard]]",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 99,
"message": "use a ranges version of this algorithm",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 537,
"message": "redundant explicit casting to the same type 'unsigned int' as the sub-expression, remove this casting",
"path": "src/detect/oob_access_analysis.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-casting",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 169,
"message": "'fold::(anonymous namespace)::RedundantStoreBodyWalker::checkReads(const clang::Stmt *)::ReadFinder::VisitDeclRefExpr' shadows method with the same name in class 'RecursiveASTVisitor<ReadFinder>'",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 229,
"message": "'fold::(anonymous namespace)::RedundantStoreBodyWalker::checkWrites(const clang::Stmt *, SymbolicEnv &)::WriteFinder::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<WriteFinder>'",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 324,
"message": "'fold::(anonymous namespace)::RedundantStoreBodyWalker::checkWrites(const clang::Stmt *, SymbolicEnv &)::WriteFinder::VisitDeclStmt' shadows method with the same name in class 'RecursiveASTVisitor<WriteFinder>'",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 291,
"message": "'fold::(anonymous namespace)::RedundantStoreBodyWalker::checkWrites(const clang::Stmt *, SymbolicEnv &)::WriteFinder::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<WriteFinder>'",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 598,
"message": "'fold::(anonymous namespace)::RedundantStoreVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::RedundantStoreVisitor>'",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 497,
"message": "iteration of pointers is nondeterministic",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 68,
"line": 501,
"message": "unchecked access to optional value",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-unchecked-optional-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 663,
"message": "member 'b_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 586,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 203,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 583,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 354,
"message": "member 'func_' of type 'const std::string &' (aka 'const basic_string<char> &') is a reference",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 666,
"message": "member 'm_' of type 'std::mutex &' is a reference",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 665,
"message": "member 'o_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 648,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 40,
"line": 357,
"message": "member 'out_' of type 'std::vector<PendingStore> &' is a reference",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 649,
"message": "member 'out_mtx_' of type 'std::mutex &' is a reference",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 83,
"line": 205,
"message": "member 'pending_stores_' of type 'std::unordered_map<const clang::VarDecl *, std::vector<PendingStore>> &' is a reference",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 664,
"message": "member 's_' of type 'SolverStats &' is a reference",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 647,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 208,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 67,
"line": 71,
"message": "pass by value and use std::move",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-pass-by-value",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 627,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 215,
"message": "function 'checkWrites' exceeds recommended size/complexity thresholds",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 427,
"message": "function 'walkIf' exceeds recommended size/complexity thresholds",
"path": "src/detect/redundant_store.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 90,
"message": "'fold::(anonymous namespace)::SecVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::SecVisitor>'",
"path": "src/detect/security_walker.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 194,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/security_walker.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 192,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/security_walker.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 193,
"message": "member 'obs_' of type 'SafetyObserver &' is a reference",
"path": "src/detect/security_walker.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 294,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/security_walker.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 293,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/security_walker.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 36,
"line": 84,
"message": "pass by value and use std::move",
"path": "src/detect/security_walker.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-pass-by-value",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 339,
"message": "repeated branch body in conditional chain",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 88,
"message": "'fold::security_walker_detail::(anonymous namespace)::BranchLivenessBuilder::VisitDeclRefExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::security_walker_detail::(anonymous namespace)::BranchLivenessBuilder>'",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 78,
"message": "'fold::security_walker_detail::(anonymous namespace)::BranchLivenessBuilder::VisitIfStmt' shadows method with the same name in class 'RecursiveASTVisitor<fold::security_walker_detail::(anonymous namespace)::BranchLivenessBuilder>'",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 319,
"message": "'fold::security_walker_detail::precheckSecuritySinks(const clang::FunctionDecl *, SecuritySinkKind)::Visitor::VisitArraySubscriptExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 325,
"message": "'fold::security_walker_detail::precheckSecuritySinks(const clang::FunctionDecl *, SecuritySinkKind)::Visitor::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 287,
"message": "'fold::security_walker_detail::precheckSecuritySinks(const clang::FunctionDecl *, SecuritySinkKind)::Visitor::VisitCXXForRangeStmt' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 348,
"message": "'fold::security_walker_detail::precheckSecuritySinks(const clang::FunctionDecl *, SecuritySinkKind)::Visitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 283,
"message": "'fold::security_walker_detail::precheckSecuritySinks(const clang::FunctionDecl *, SecuritySinkKind)::Visitor::VisitDoStmt' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 275,
"message": "'fold::security_walker_detail::precheckSecuritySinks(const clang::FunctionDecl *, SecuritySinkKind)::Visitor::VisitForStmt' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 267,
"message": "'fold::security_walker_detail::precheckSecuritySinks(const clang::FunctionDecl *, SecuritySinkKind)::Visitor::VisitIfStmt' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 312,
"message": "'fold::security_walker_detail::precheckSecuritySinks(const clang::FunctionDecl *, SecuritySinkKind)::Visitor::VisitMemberExpr' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 271,
"message": "'fold::security_walker_detail::precheckSecuritySinks(const clang::FunctionDecl *, SecuritySinkKind)::Visitor::VisitSwitchStmt' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 292,
"message": "'fold::security_walker_detail::precheckSecuritySinks(const clang::FunctionDecl *, SecuritySinkKind)::Visitor::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 279,
"message": "'fold::security_walker_detail::precheckSecuritySinks(const clang::FunctionDecl *, SecuritySinkKind)::Visitor::VisitWhileStmt' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 123,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 374,
"message": "member 'result_' of type 'SinkPrecheckResult &' is a reference",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 53,
"line": 113,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 56,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 84,
"message": "use emplace_back instead of push_back",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-emplace",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 44,
"message": "function 'found' should be marked [[nodiscard]]",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 104,
"message": "use a ranges version of this algorithm",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 251,
"message": "function 'precheckSecuritySinks' exceeds recommended size/complexity thresholds",
"path": "src/detect/security_walker_analysis.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 60,
"line": 48,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/security_walker_contracts.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 77,
"message": "use designated initializer list to initialize 'IntInterval'",
"path": "src/detect/security_walker_contracts.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 83,
"message": "use a ranges version of this algorithm",
"path": "src/detect/security_walker_contracts.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 40,
"line": 137,
"message": "use starts_with instead of rfind",
"path": "src/detect/security_walker_contracts.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 42,
"line": 349,
"message": "iteration of pointers is nondeterministic",
"path": "src/detect/security_walker_engine_control.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 64,
"line": 619,
"message": "unchecked access to optional value",
"path": "src/detect/security_walker_engine_control.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-unchecked-optional-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 383,
"message": "use designated initializer list to initialize 'BailInfo'",
"path": "src/detect/security_walker_engine_control.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 201,
"message": "function 'unrollLoop' exceeds recommended size/complexity thresholds",
"path": "src/detect/security_walker_engine_control.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 389,
"message": "function 'walkIf' exceeds recommended size/complexity thresholds",
"path": "src/detect/security_walker_engine_control.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 153,
"message": "invalid case style for variable '_t'",
"path": "src/detect/security_walker_engine_control.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 156,
"message": "invalid case style for variable 'casePredicate'",
"path": "src/detect/security_walker_engine_control.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 175,
"message": "invalid case style for variable 'caseStmt'",
"path": "src/detect/security_walker_engine_control.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 393,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 343,
"message": "member 'env' of type 'SymbolicEnv &' is a reference",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 49,
"line": 344,
"message": "member 'vars' of type 'std::vector<const clang::VarDecl *> &' is a reference",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 264,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 342,
"message": "class 'M25Unmark' defines a non-default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 398,
"message": "class 'OverlayClear' defines a non-default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 421,
"message": "use auto when initializing with a template cast to avoid duplicating the type name",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 114,
"message": "use designated initializer list to initialize 'BailInfo'",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 350,
"message": "use designated initializer list to initialize 'M25Unmark'",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 405,
"message": "use designated initializer list to initialize 'struct OverlayClear'",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 141,
"message": "function 'buildNonNullAtBlockEntry' exceeds recommended size/complexity thresholds",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 261,
"message": "function 'walkCFG' exceeds recommended size/complexity thresholds",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 121,
"message": "invalid case style for variable '_t'",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 295,
"message": "invalid case style for variable 'handleControlStmt'",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 14,
"line": 429,
"message": "invalid case style for variable 'hasAncestorInBlock'",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 185,
"message": "invalid case style for variable 'incomingFact'",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 148,
"message": "invalid case style for variable 'kBlockBudget'",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 286,
"message": "invalid case style for variable 'skipSubtree'",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 164,
"message": "invalid case style for variable 'writtenIn'",
"path": "src/detect/security_walker_engine_core.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 236,
"message": "switch has 2 consecutive identical branches",
"path": "src/detect/security_walker_refinement.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 346,
"message": "'fold::security_walker_detail::WriteCollector::VisitDeclRefExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::security_walker_detail::WriteCollector>'",
"path": "src/detect/security_walker_refinement.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 358,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/security_walker_refinement.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 496,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/security_walker_refinement.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 367,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/security_walker_refinement.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 34,
"message": "use designated initializer list to initialize 'IntInterval'",
"path": "src/detect/security_walker_refinement.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 449,
"message": "use designated initializer list to initialize 'LoopRangeInfo'",
"path": "src/detect/security_walker_refinement.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 355,
"message": "function 'written' should be marked [[nodiscard]]",
"path": "src/detect/security_walker_refinement.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 6,
"line": 340,
"message": "redundant 'isWriteReference' declaration",
"path": "src/detect/security_walker_refinement.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-declaration",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 160,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "src/detect/sign_conversion.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 268,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/sign_conversion.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 267,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/sign_conversion.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 270,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/sign_conversion.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 269,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/sign_conversion.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 85,
"message": "variable 'result' is not initialized",
"path": "src/detect/sign_conversion.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 232,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/sign_conversion.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 231,
"message": "use range-based for loop instead",
"path": "src/detect/sign_conversion.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-loop-convert",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 69,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/detect/sign_conversion.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 208,
"message": "function 'buildAssumptions' should be marked [[nodiscard]]",
"path": "src/detect/sign_conversion.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 60,
"message": "function 'onSignedUnsignedConversion' exceeds recommended size/complexity thresholds",
"path": "src/detect/sign_conversion.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 65,
"message": "invalid case style for variable '_t'",
"path": "src/detect/sign_conversion.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 77,
"message": "variable 'kStringBuilders' is non-const and globally accessible, consider making it const",
"path": "src/detect/sql_injection.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 67,
"message": "variable 'kStringReturnSources' is non-const and globally accessible, consider making it const",
"path": "src/detect/sql_injection.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 46,
"message": "variable 'kTaintSources' is non-const and globally accessible, consider making it const",
"path": "src/detect/sql_injection.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 32,
"message": "use designated initializer list to initialize 'const SinkInfo'",
"path": "src/detect/sql_injection.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 89,
"message": "use designated initializer list to initialize 'const SqlSanitizerInfo'",
"path": "src/detect/sql_injection.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 191,
"message": "use starts_with instead of find",
"path": "src/detect/sql_injection.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 518,
"message": "function 'onCallReturn' exceeds recommended size/complexity thresholds",
"path": "src/detect/sql_injection.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 77,
"message": "invalid case style for variable 'kStringBuilders'",
"path": "src/detect/sql_injection.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 67,
"message": "invalid case style for variable 'kStringReturnSources'",
"path": "src/detect/sql_injection.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 46,
"message": "invalid case style for variable 'kTaintSources'",
"path": "src/detect/sql_injection.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 173,
"message": "'fold::(anonymous namespace)::DerefCollector::VisitArraySubscriptExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::DerefCollector>'",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 166,
"message": "'fold::(anonymous namespace)::DerefCollector::VisitMemberExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::DerefCollector>'",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 159,
"message": "'fold::(anonymous namespace)::DerefCollector::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::DerefCollector>'",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 49,
"message": "'fold::(anonymous namespace)::StaticPtrVisitor::VisitVarDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::StaticPtrVisitor>'",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 108,
"message": "'fold::(anonymous namespace)::TestCollector::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::TestCollector>'",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 134,
"message": "'fold::(anonymous namespace)::TestCollector::VisitIfStmt' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::TestCollector>'",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 122,
"message": "'fold::(anonymous namespace)::TestCollector::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::TestCollector>'",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 244,
"message": "'fold::detectStaticPtrAsymmetryInContext(clang::ASTContext &)::CollectFns::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<CollectFns>'",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 31,
"line": 274,
"message": "iteration of pointers is nondeterministic",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 148,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 346,
"message": "member 'out' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 369,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 50,
"line": 254,
"message": "member 'out_' of type 'std::vector<const clang::FunctionDecl *> &' is a reference",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 86,
"message": "member 'sm_' of type 'const clang::SourceManager &' is a reference",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 54,
"line": 146,
"message": "member 'statics_' of type 'const std::unordered_set<const clang::VarDecl *> &' is a reference",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 48,
"line": 85,
"message": "member 'statics_' of type 'std::unordered_set<const clang::VarDecl *> &' is a reference",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 54,
"line": 201,
"message": "member 'tested_' of type 'const std::unordered_set<const clang::VarDecl *> &' is a reference",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 48,
"line": 147,
"message": "member 'tested_' of type 'std::unordered_set<const clang::VarDecl *> &' is a reference",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 84,
"line": 202,
"message": "member 'unguarded_' of type 'std::unordered_map<const clang::VarDecl *, std::vector<clang::SourceLocation>> &' is a reference",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 39,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 221,
"message": "function 'detectStaticPtrAsymmetryInContext' exceeds recommended size/complexity thresholds",
"path": "src/detect/static_ptr_asymmetry.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 161,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/summary_store.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 26,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/detect/summary_store.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 104,
"message": "'fold::detect::(anonymous namespace)::FunctionFlow::Collector::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::detect::(anonymous namespace)::FunctionFlow::Collector>'",
"path": "src/detect/taint_summary.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 113,
"message": "'fold::detect::(anonymous namespace)::FunctionFlow::Collector::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::detect::(anonymous namespace)::FunctionFlow::Collector>'",
"path": "src/detect/taint_summary.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 117,
"message": "'fold::detect::(anonymous namespace)::FunctionFlow::Collector::VisitReturnStmt' shadows method with the same name in class 'RecursiveASTVisitor<fold::detect::(anonymous namespace)::FunctionFlow::Collector>'",
"path": "src/detect/taint_summary.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 99,
"message": "'fold::detect::(anonymous namespace)::FunctionFlow::Collector::VisitVarDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::detect::(anonymous namespace)::FunctionFlow::Collector>'",
"path": "src/detect/taint_summary.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 253,
"message": "'fold::detect::computeTaintSummaries(clang::ASTContext &)::FnCollector::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<FnCollector>'",
"path": "src/detect/taint_summary.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 239,
"message": "member 'flow_' of type 'const FunctionFlow &' is a reference",
"path": "src/detect/taint_summary.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 240,
"message": "member 'summaries_' of type 'const TaintSummaryMap &' (aka 'const std::unordered_map<const clang::FunctionDecl *, FunctionTaintSummary> &') is a reference",
"path": "src/detect/taint_summary.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 266,
"message": "uninitialized record type: 'c'",
"path": "src/detect/taint_summary.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-member-init",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 251,
"message": "uninitialized record type: 'collector'",
"path": "src/detect/taint_summary.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-member-init",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 49,
"message": "use designated initializer list to initialize 'SinkMatch'",
"path": "src/detect/taint_summary.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 31,
"message": "use designated initializer list to initialize 'const SinkName'",
"path": "src/detect/taint_summary.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 14,
"line": 50,
"message": "use starts_with instead of rfind",
"path": "src/detect/taint_summary.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 58,
"message": "invalid case style for variable 'kNames'",
"path": "src/detect/taint_summary.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 102,
"message": "initialization of 'kSanitizers' with static storage duration may throw an exception that cannot be caught",
"path": "src/detect/taint_track.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 53,
"message": "initialization of 'kSinks' with static storage duration may throw an exception that cannot be caught",
"path": "src/detect/taint_track.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 25,
"message": "initialization of 'kSources' with static storage duration may throw an exception that cannot be caught",
"path": "src/detect/taint_track.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-throwing-static-initialization,cert-err58-cpp",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 73,
"line": 509,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/detect/taint_track.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 104,
"message": "use designated initializer list to initialize 'const value_type' (aka 'const fold::detect::(anonymous namespace)::Sanitizer')",
"path": "src/detect/taint_track.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 54,
"message": "use designated initializer list to initialize 'const value_type' (aka 'const fold::detect::TaintSink')",
"path": "src/detect/taint_track.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 44,
"line": 25,
"message": "use designated initializer list to initialize 'const value_type' (aka 'const fold::detect::TaintSource')",
"path": "src/detect/taint_track.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 40,
"line": 620,
"message": "comparison between 'signed' and 'unsigned' integers",
"path": "src/detect/taint_track.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-integer-sign-comparison",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 207,
"message": "use starts_with instead of rfind",
"path": "src/detect/taint_track.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 489,
"message": "function 'onCallReturn' exceeds recommended size/complexity thresholds",
"path": "src/detect/taint_track.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 521,
"message": "invalid case style for variable 'memberCall'",
"path": "src/detect/taint_track.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 26,
"message": "'fold::(anonymous namespace)::FunctionCollector::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::FunctionCollector>'",
"path": "src/detect/uninit_local_read.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 109,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/uninit_local_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 110,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/uninit_local_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 40,
"message": "member 'sm_' of type 'const clang::SourceManager &' is a reference",
"path": "src/detect/uninit_local_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 37,
"message": "function 'definitions' should be marked [[nodiscard]]",
"path": "src/detect/uninit_local_read.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 128,
"message": "'fold::(anonymous namespace)::UninitBodyWalker::checkReads(const clang::Stmt *, SymbolicEnv &, const z3::expr &)::ReadFinder::VisitDeclRefExpr' shadows method with the same name in class 'RecursiveASTVisitor<ReadFinder>'",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 414,
"message": "'fold::(anonymous namespace)::UninitVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::UninitVisitor>'",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 379,
"message": "iteration of pointers is nondeterministic",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 72,
"line": 383,
"message": "unchecked access to optional value",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-unchecked-optional-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 476,
"message": "member 'b_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 402,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 459,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 202,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 203,
"message": "member 'func_' of type 'const std::string &' (aka 'const basic_string<char> &') is a reference",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 479,
"message": "member 'm_' of type 'std::mutex &' is a reference",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 478,
"message": "member 'o_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 462,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 43,
"line": 205,
"message": "member 'out_' of type 'std::vector<UninitCandidate> &' is a reference",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 463,
"message": "member 'out_mtx_' of type 'std::mutex &' is a reference",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 477,
"message": "member 's_' of type 'SolverStats &' is a reference",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 461,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 62,
"line": 204,
"message": "member 'written_' of type 'const std::unordered_set<const clang::VarDecl *> &' is a reference",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 181,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 73,
"line": 69,
"message": "pass by value and use std::move",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-pass-by-value",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 443,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/detect/uninit_read.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 368,
"message": "'fold::(anonymous namespace)::UnreachableVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::UnreachableVisitor>'",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 42,
"line": 332,
"message": "iteration of pointers is nondeterministic",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 425,
"message": "member 'b_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 354,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 406,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 352,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 428,
"message": "member 'm_' of type 'std::mutex &' is a reference",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 411,
"message": "member 'modeling_' of type 'const ModelingOptions &' is a reference",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 427,
"message": "member 'o_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 409,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 356,
"message": "member 'out_' of type 'std::vector<UnreachableResult> &' is a reference",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 410,
"message": "member 'out_mtx_' of type 'std::mutex &' is a reference",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 426,
"message": "member 's_' of type 'SolverStats &' is a reference",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 355,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 111,
"message": "pass by value and use std::move",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-pass-by-value",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 65,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 36,
"line": 168,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::(anonymous namespace)::UnreachableResult')",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 390,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/detect/unreachable.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 51,
"message": "'fold::(anonymous namespace)::CallGraphVisitor::VisitCXXConstructExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::CallGraphVisitor>'",
"path": "src/detect/unused_function.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 30,
"message": "'fold::(anonymous namespace)::CallGraphVisitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::CallGraphVisitor>'",
"path": "src/detect/unused_function.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 60,
"message": "'fold::(anonymous namespace)::CallGraphVisitor::VisitDeclRefExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::CallGraphVisitor>'",
"path": "src/detect/unused_function.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 130,
"message": "'fold::detectUnusedFunctionsInContext(clang::ASTContext &)::CollectFns::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<CollectFns>'",
"path": "src/detect/unused_function.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 53,
"line": 98,
"message": "member 'addr_taken_' of type 'std::unordered_set<const clang::FunctionDecl *> &' is a reference",
"path": "src/detect/unused_function.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 53,
"line": 97,
"message": "member 'called_' of type 'std::unordered_set<const clang::FunctionDecl *> &' is a reference",
"path": "src/detect/unused_function.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 235,
"message": "member 'out' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/unused_function.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 258,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/unused_function.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 50,
"line": 144,
"message": "member 'out_' of type 'std::vector<const clang::FunctionDecl *> &' is a reference",
"path": "src/detect/unused_function.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 117,
"message": "function 'detectUnusedFunctionsInContext' exceeds recommended size/complexity thresholds",
"path": "src/detect/unused_function.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 155,
"message": "invalid case style for variable 'inheritsFromPolymorphicBase'",
"path": "src/detect/unused_function.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 38,
"message": "'fold::(anonymous namespace)::FunctionCollector::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::FunctionCollector>'",
"path": "src/detect/use_after_free.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 485,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/use_after_free.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 303,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/use_after_free.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 304,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/use_after_free.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 52,
"message": "member 'sm_' of type 'const clang::SourceManager &' is a reference",
"path": "src/detect/use_after_free.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 486,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/use_after_free.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 386,
"message": "variable 'result' is not initialized",
"path": "src/detect/use_after_free.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 369,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/detect/use_after_free.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 49,
"message": "function 'definitions' should be marked [[nodiscard]]",
"path": "src/detect/use_after_free.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 552,
"message": "'fold::(anonymous namespace)::UseAfterMoveVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::UseAfterMoveVisitor>'",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 214,
"message": "'fold::(anonymous namespace)::UseAfterMoveWalker::checkReads(const clang::Stmt *, SymbolicEnv &, const z3::expr &)::ReadFinder::VisitDeclRefExpr' shadows method with the same name in class 'RecursiveASTVisitor<ReadFinder>'",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 171,
"message": "'fold::(anonymous namespace)::UseAfterMoveWalker::trackMoveCalls(const clang::Stmt *, SymbolicEnv &, const z3::expr &)::MoveFinder::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<MoveFinder>'",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 500,
"message": "iteration of pointers is nondeterministic",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 72,
"line": 504,
"message": "unchecked access to optional value",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-unchecked-optional-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 611,
"message": "member 'b_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 309,
"message": "member 'budget_' of type 'const SolverBudget &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 593,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 186,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 49,
"line": 187,
"message": "member 'func_' of type 'const std::string &' (aka 'const basic_string<char> &') is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 614,
"message": "member 'm_' of type 'std::mutex &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 65,
"line": 306,
"message": "member 'moved_from_' of type 'const std::unordered_map<const VarDecl *, z3::expr> &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 59,
"line": 190,
"message": "member 'moved_from_' of type 'std::unordered_map<const VarDecl *, z3::expr> &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 613,
"message": "member 'o_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 596,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 49,
"line": 307,
"message": "member 'out_' of type 'std::vector<UseAfterMoveCandidate> &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 597,
"message": "member 'out_mtx_' of type 'std::mutex &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 188,
"message": "member 'path_' of type 'const z3::expr &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 612,
"message": "member 's_' of type 'SolverStats &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 25,
"line": 308,
"message": "member 'solver_' of type 'z3::solver &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 310,
"message": "member 'stats_' of type 'SolverStats &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 43,
"line": 191,
"message": "member 'z3_ctx_' of type 'z3::context &' is a reference",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 195,
"message": "do not use const_cast to remove const qualifier",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 61,
"line": 106,
"message": "pass by value and use std::move",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-pass-by-value",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 577,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 201,
"message": "function 'checkReads' exceeds recommended size/complexity thresholds",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 412,
"message": "function 'walkIf' exceeds recommended size/complexity thresholds",
"path": "src/detect/use_after_move.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 266,
"message": "'fold::(anonymous namespace)::WeakCryptoVisitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::WeakCryptoVisitor>'",
"path": "src/detect/weak_crypto.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 327,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/detect/weak_crypto.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 328,
"message": "member 'out_' of type 'std::vector<Finding> &' is a reference",
"path": "src/detect/weak_crypto.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 161,
"message": "use designated initializer list to initialize 'const WeakAlgorithmStringPattern'",
"path": "src/detect/weak_crypto.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 34,
"message": "use designated initializer list to initialize 'const WeakCryptoCallPattern'",
"path": "src/detect/weak_crypto.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 186,
"message": "use a ranges version of this algorithm",
"path": "src/detect/weak_crypto.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 65,
"message": "'fold::(anonymous namespace)::FoldVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::FoldVisitor>'",
"path": "src/frontend/ast_visitor.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 241,
"message": "'fold::(anonymous namespace)::SerializingVisitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::SerializingVisitor>'",
"path": "src/frontend/ast_visitor.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 383,
"message": "'atoi' used to convert a string to an integer value, but function will not report conversion errors; consider using 'strtol' instead",
"path": "src/frontend/ast_visitor.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-unchecked-string-to-number-conversion,cert-err34-c",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 141,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/frontend/ast_visitor.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 162,
"message": "member 'mtx_' of type 'std::mutex &' is a reference",
"path": "src/frontend/ast_visitor.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 142,
"message": "member 'out_' of type 'std::vector<FunctionSummary> &' is a reference",
"path": "src/frontend/ast_visitor.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 289,
"message": "member 'out_' of type 'std::vector<SerializedSummary> &' is a reference",
"path": "src/frontend/ast_visitor.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 143,
"message": "member 'seen_' of type 'std::unordered_set<std::string> &' (aka 'std::unordered_set<basic_string<char>> &') is a reference",
"path": "src/frontend/ast_visitor.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 391,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/frontend/ast_visitor.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 154,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/frontend/ast_visitor.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 14,
"line": 72,
"message": "invalid case style for variable 'fdLoc'",
"path": "src/frontend/ast_visitor.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 1,
"line": 3,
"message": "nested namespaces can be concatenated",
"path": "src/frontend/cfg_builder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-concat-nested-namespaces",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 52,
"message": "'fold::frontend::(anonymous namespace)::FunctionIrAction::CreateASTConsumer(clang::CompilerInstance &, llvm::StringRef)::Consumer::HandleTranslationUnit(clang::ASTContext &)::Visitor::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<Visitor>'",
"path": "src/frontend/clang_backend.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 73,
"message": "'fold::frontend::(anonymous namespace)::FunctionIrAction::CreateASTConsumer(clang::CompilerInstance &, llvm::StringRef)::Consumer::HandleTranslationUnit(clang::ASTContext &)::Visitor::VisitFunctionDecl(clang::FunctionDecl *)::CallVisitor::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<CallVisitor>'",
"path": "src/frontend/clang_backend.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 55,
"line": 81,
"message": "member 'callees_' of type 'std::vector<std::string> &' (aka 'std::vector<basic_string<char>> &') is a reference",
"path": "src/frontend/clang_backend.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 40,
"line": 90,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/frontend/clang_backend.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 44,
"line": 97,
"message": "member 'functions' of type 'std::vector<core::FunctionIR> &' is a reference",
"path": "src/frontend/clang_backend.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 52,
"line": 91,
"message": "member 'functions_' of type 'std::vector<core::FunctionIR> &' is a reference",
"path": "src/frontend/clang_backend.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 33,
"message": "constness of 'ext' prevents automatic move",
"path": "src/frontend/clang_backend.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-no-automatic-move",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 48,
"line": 25,
"message": "calling 'popen' uses a command processor",
"path": "src/frontend/comp_db.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-command-processor,cert-env33-c",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 136,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/frontend/comp_db.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 124,
"message": "use emplace_back instead of push_back",
"path": "src/frontend/comp_db.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-emplace",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 145,
"message": "invalid case style for static constant 'resource_dir'",
"path": "src/frontend/comp_db.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 146,
"message": "invalid case style for static constant 'sdk_path'",
"path": "src/frontend/comp_db.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 325,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "src/frontend/rust_backend.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 119,
"message": "performing an implicit widening conversion to type 'std::size_t' (aka 'unsigned long') of a multiplication performed in type 'unsigned int'",
"path": "src/frontend/rust_backend.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-implicit-widening-of-multiplication-result",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 41,
"line": 388,
"message": "'loc' used after it was moved",
"path": "src/frontend/rust_backend.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-use-after-move",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 286,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/frontend/rust_backend.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 423,
"message": "use emplace_back instead of push_back",
"path": "src/frontend/rust_backend.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-emplace",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 44,
"line": 238,
"message": "function 'extractFunctions' exceeds recommended size/complexity thresholds",
"path": "src/frontend/rust_backend.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 68,
"line": 39,
"message": "invalid case style for static constant 'table'",
"path": "src/frontend/rust_backend.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 22,
"message": "variable 'environ' is non-const and globally accessible, consider making it const",
"path": "src/frontend/subprocess.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 22,
"message": "variable 'environ' provides global access to a non-const object; consider making the pointed-to data 'const'",
"path": "src/frontend/subprocess.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 117,
"message": "variable 'actions' is not initialized",
"path": "src/frontend/subprocess.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 56,
"line": 119,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/frontend/subprocess.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 4,
"message": "inclusion of deprecated C++ header 'signal.h'; consider using 'csignal' instead",
"path": "src/frontend/subprocess.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-deprecated-headers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 193,
"message": "use designated initializer list to initialize 'struct pollfd'",
"path": "src/frontend/subprocess.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 137,
"message": "use a ranges version of this algorithm",
"path": "src/frontend/subprocess.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 105,
"message": "function 'runSubprocess' exceeds recommended size/complexity thresholds",
"path": "src/frontend/subprocess.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 41,
"line": 240,
"message": "'loc' used after it was moved",
"path": "src/frontend/swift_backend.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-use-after-move",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 195,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/frontend/swift_backend.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 276,
"message": "use emplace_back instead of push_back",
"path": "src/frontend/swift_backend.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-emplace",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 45,
"line": 159,
"message": "function 'extractFunctions' exceeds recommended size/complexity thresholds",
"path": "src/frontend/swift_backend.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 68,
"line": 36,
"message": "invalid case style for static constant 'table'",
"path": "src/frontend/swift_backend.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 19,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/fuzz/asan_parser.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 67,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/fuzz/boundary_seeds.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 29,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::fuzz::(anonymous namespace)::Boundary')",
"path": "src/fuzz/boundary_seeds.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 11,
"line": 97,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/fuzz/corpus_writer.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 59,
"line": 65,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/fuzz/dict_miner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 85,
"message": "do not use reinterpret_cast",
"path": "src/fuzz/dict_miner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-reinterpret-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 107,
"message": "use a ranges version of this algorithm",
"path": "src/fuzz/dict_miner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 35,
"line": 34,
"message": "invalid case style for constexpr variable 'hex'",
"path": "src/fuzz/dict_miner.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 82,
"message": "the value returned by this function should not be disregarded; neglecting it may lead to errors",
"path": "src/fuzz/harness_emitter.cpp",
"rationale_ref": "correctness-debt",
"rule": "cert-err33-c",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 31,
"line": 82,
"message": "do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead",
"path": "src/fuzz/harness_emitter.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-array-to-pointer-decay",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 158,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/fuzz/harness_emitter.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 82,
"message": "do not call c-style vararg functions",
"path": "src/fuzz/harness_emitter.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-vararg",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 281,
"message": "escaped string literal can be written as a raw string literal",
"path": "src/fuzz/harness_emitter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-raw-string-literal",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 874,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/fuzz/harness_emitter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 493,
"message": "use designated initializer list to initialize 'BinaryTypeMapping'",
"path": "src/fuzz/harness_emitter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 439,
"message": "use designated initializer list to initialize 'fold::fuzz::(anonymous namespace)::BinaryTypeMapping'",
"path": "src/fuzz/harness_emitter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 526,
"message": "use emplace_back instead of push_back",
"path": "src/fuzz/harness_emitter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-emplace",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 514,
"message": "comparison between 'signed' and 'unsigned' integers",
"path": "src/fuzz/harness_emitter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-integer-sign-comparison",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 509,
"message": "function 'emitBinaryHarness' exceeds recommended size/complexity thresholds",
"path": "src/fuzz/harness_emitter.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 574,
"message": "invalid case style for variable 'renderParamTypes'",
"path": "src/fuzz/harness_emitter.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 277,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "src/fuzz/param_schema.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 285,
"message": "variable 'r' is not initialized",
"path": "src/fuzz/param_schema.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 27,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/fuzz/prediction_match.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 12,
"message": "use a ranges version of this algorithm",
"path": "src/fuzz/prediction_match.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 19,
"message": "variable 'environ' is non-const and globally accessible, consider making it const",
"path": "src/fuzz/runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 19,
"message": "variable 'environ' provides global access to a non-const object; consider making the pointed-to data 'const'",
"path": "src/fuzz/runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 70,
"message": "variable 'actions' is not initialized",
"path": "src/fuzz/runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 47,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/fuzz/runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 64,
"message": "do not call c-style vararg functions",
"path": "src/fuzz/runner.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-vararg",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 149,
"message": "use a ranges version of this algorithm",
"path": "src/fuzz/runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 144,
"message": "use starts_with instead of rfind",
"path": "src/fuzz/runner.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 155,
"message": "function 'runFuzzCampaign' exceeds recommended size/complexity thresholds",
"path": "src/fuzz/runner.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 31,
"line": 12,
"message": "variable 'g_active_recorder' is non-const and globally accessible, consider making it const",
"path": "src/fuzz/witness_recorder.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-non-const-global-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 1,
"line": 3,
"message": "nested namespaces can be concatenated",
"path": "src/index/store.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-concat-nested-namespaces",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 202,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/ir/access_path.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 134,
"message": "use designated initializer list to initialize 'AccessPath'",
"path": "src/ir/access_path.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 51,
"line": 98,
"message": "use designated initializer list to initialize 'AccessStep'",
"path": "src/ir/access_path.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 44,
"message": "use designated initializer list to initialize 'RegionKey'",
"path": "src/ir/access_path.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 194,
"message": "avoid do-while loops",
"path": "src/ir/call_graph.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-do-while",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 61,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/ir/call_graph.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 29,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/ir/cfg_walker.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 75,
"message": "use a ranges version of this algorithm",
"path": "src/ir/cfg_walker.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 76,
"line": 70,
"message": "the parameter 'onBlock' of type 'std::function<bool (unsigned int, const clang::CFGBlock *)>' is copied for each invocation but only used as a const reference; consider making it a const reference",
"path": "src/ir/cfg_walker.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-unnecessary-value-param",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 62,
"line": 71,
"message": "the parameter 'onEdge' of type 'std::function<void (unsigned int, unsigned int)>' is copied for each invocation but only used as a const reference; consider making it a const reference",
"path": "src/ir/cfg_walker.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-unnecessary-value-param",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 241,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/ir/def_use.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 242,
"message": "member 'out_' of type 'DefUseChains &' is a reference",
"path": "src/ir/def_use.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 243,
"message": "member 'sm_' of type 'const clang::SourceManager &' is a reference",
"path": "src/ir/def_use.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 221,
"message": "use designated initializer list to initialize 'UseSite'",
"path": "src/ir/def_use.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 6,
"line": 232,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/ir/expr_json.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 260,
"message": "function 'fromJson' exceeds recommended size/complexity thresholds",
"path": "src/ir/expr_json.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 390,
"message": "function 'toJson' exceeds recommended size/complexity thresholds",
"path": "src/ir/expr_json.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 65,
"line": 30,
"message": "invalid case style for static constant 'table'",
"path": "src/ir/expr_json.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 37,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/ir/fact_id.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 151,
"message": "switch has 3 consecutive identical branches",
"path": "src/ir/hash.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 137,
"message": "switch has 6 consecutive identical branches",
"path": "src/ir/hash.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 1,
"line": 4,
"message": "nested namespaces can be concatenated",
"path": "src/ir/summary.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-concat-nested-namespaces",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 24,
"message": "switch has 2 consecutive identical branches",
"path": "src/lsp/diagnostic.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 16,
"message": "switch has 3 consecutive identical branches",
"path": "src/lsp/diagnostic.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 28,
"message": "switch has 4 consecutive identical branches",
"path": "src/lsp/diagnostic.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 68,
"message": "switch has 7 consecutive identical branches",
"path": "src/lsp/diagnostic.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 126,
"message": "'sscanf' used to convert a string to an unsigned integer value, but function will not report conversion errors; consider using 'strtoul' instead",
"path": "src/lsp/diagnostic.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-unchecked-string-to-number-conversion,cert-err34-c",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 106,
"message": "the value returned by this function should not be disregarded; neglecting it may lead to errors",
"path": "src/lsp/diagnostic.cpp",
"rationale_ref": "correctness-debt",
"rule": "cert-err33-c",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 106,
"message": "do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead",
"path": "src/lsp/diagnostic.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-array-to-pointer-decay",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 122,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/lsp/diagnostic.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 106,
"message": "do not call c-style vararg functions",
"path": "src/lsp/diagnostic.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-vararg",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 103,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/lsp/diagnostic.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 118,
"message": "use starts_with instead of rfind",
"path": "src/lsp/diagnostic.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 22,
"message": "avoid repeating the return type from the declaration; use a braced initializer list instead",
"path": "src/lsp/framed_transport.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-return-braced-init-list",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 68,
"message": "comparison between 'signed' and 'unsigned' integers",
"path": "src/lsp/framed_transport.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-integer-sign-comparison",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 16,
"message": "use a ranges version of this algorithm",
"path": "src/lsp/framed_transport.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 41,
"line": 146,
"message": "conditional operator with identical true and false expressions",
"path": "src/lsp/lsp_server.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 62,
"line": 106,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/lsp/lsp_server.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 39,
"line": 106,
"message": "use emplace_back instead of push_back",
"path": "src/lsp/lsp_server.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-emplace",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 21,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/mcp/json_rpc.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 52,
"line": 74,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/mcp/mcp_server.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 9,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/mcp/scan_cache.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 77,
"line": 199,
"message": "narrowing conversion from 'std::size_t' (aka 'unsigned long') to signed type 'difference_type' (aka 'long') is implementation-defined",
"path": "src/mcp/scan_jobs.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-narrowing-conversions,cppcoreguidelines-narrowing-conversions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 212,
"message": "unchecked access to optional value",
"path": "src/mcp/scan_jobs.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-unchecked-optional-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 40,
"line": 156,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/mcp/scan_jobs.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 49,
"message": "class 'Impl' defines a non-default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator",
"path": "src/mcp/scan_jobs.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-special-member-functions",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 164,
"message": "use a ranges version of this algorithm",
"path": "src/mcp/scan_jobs.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 54,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/mcp/scan_jobs.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 82,
"line": 312,
"message": "unchecked access to optional value",
"path": "src/mcp/tool_registry.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-unchecked-optional-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 41,
"line": 104,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/mcp/tool_registry.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 13,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::mcp::Tool')",
"path": "src/mcp/tool_registry_explain.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 49,
"line": 62,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/mcp/tool_registry_findings.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 15,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::mcp::Tool')",
"path": "src/mcp/tool_registry_findings.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 69,
"message": "use a ranges version of this algorithm",
"path": "src/mcp/tool_registry_findings.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 14,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::mcp::Tool')",
"path": "src/mcp/tool_registry_merge.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 419,
"message": "an exception may be thrown in function '(lambda at ../../src/mcp/tool_registry_scan.cpp:419:13)' which should not throw exceptions",
"path": "src/mcp/tool_registry_scan.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-exception-escape",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 313,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/mcp/tool_registry_scan.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 23,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::mcp::Tool')",
"path": "src/mcp/tool_registry_scan.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 22,
"message": "function 'registerScanFamily' exceeds recommended size/complexity thresholds",
"path": "src/mcp/tool_registry_scan.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 107,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/report/filter.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 87,
"message": "use a ranges version of this algorithm",
"path": "src/report/filter.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 119,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/report/finding_json.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 202,
"message": "function 'evidenceFromJson' exceeds recommended size/complexity thresholds",
"path": "src/report/finding_json.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 10,
"message": "function 'kindFromName' exceeds recommended size/complexity thresholds",
"path": "src/report/finding_json.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 75,
"message": "sorting pointers is nondeterministic",
"path": "src/report/patch_writer.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 87,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/report/patch_writer.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 75,
"message": "use a ranges version of this algorithm",
"path": "src/report/patch_writer.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 110,
"message": "switch has 3 consecutive identical branches",
"path": "src/report/sarif.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 241,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/report/sarif.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 28,
"message": "use designated initializer list to initialize 'const SarifRule'",
"path": "src/report/sarif.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 85,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/report/triage.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 47,
"message": "use a ranges version of this algorithm",
"path": "src/report/triage.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 108,
"message": "use starts_with instead of rfind",
"path": "src/report/triage.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 25,
"message": "enum 'SuppressionPatternKind' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size",
"path": "src/report/triage.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-enum-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 38,
"message": "the parameter 's' of type 'std::string' (aka 'basic_string<char>') is copied for each invocation but only used as a const reference; consider making it a const reference",
"path": "src/report/triage.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-unnecessary-value-param",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 176,
"message": "switch has 2 consecutive identical branches",
"path": "src/symbolic/ai_pre_pass.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 34,
"line": 167,
"message": "variable 'neg_hi' is not initialized",
"path": "src/symbolic/ai_pre_pass.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 167,
"message": "variable 'neg_lo' is not initialized",
"path": "src/symbolic/ai_pre_pass.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 56,
"message": "variable 'r_hi' is not initialized",
"path": "src/symbolic/ai_pre_pass.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 56,
"message": "variable 'r_lo' is not initialized",
"path": "src/symbolic/ai_pre_pass.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 193,
"message": "do not use reinterpret_cast",
"path": "src/symbolic/ai_pre_pass.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-reinterpret-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 41,
"line": 168,
"message": "C-style casts are discouraged; use static_cast",
"path": "src/symbolic/ai_pre_pass.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-avoid-c-style-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 61,
"message": "use designated initializer list to initialize 'IntInterval'",
"path": "src/symbolic/ai_pre_pass.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 91,
"message": "use a ranges version of this algorithm",
"path": "src/symbolic/ai_pre_pass.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 75,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/assumption_provenance.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 73,
"message": "use range-based for loop instead",
"path": "src/symbolic/assumption_provenance.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-loop-convert",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 122,
"message": "an exception may be thrown in function '(lambda at ../../src/symbolic/batch_safety_observer.cpp:122:28)' which should not throw exceptions",
"path": "src/symbolic/batch_safety_observer.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-exception-escape",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 140,
"message": "an exception may be thrown in function '(lambda at ../../src/symbolic/batch_safety_observer.cpp:140:28)' which should not throw exceptions",
"path": "src/symbolic/batch_safety_observer.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-exception-escape",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 158,
"message": "an exception may be thrown in function '(lambda at ../../src/symbolic/batch_safety_observer.cpp:158:28)' which should not throw exceptions",
"path": "src/symbolic/batch_safety_observer.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-exception-escape",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 180,
"message": "an exception may be thrown in function '(lambda at ../../src/symbolic/batch_safety_observer.cpp:180:28)' which should not throw exceptions",
"path": "src/symbolic/batch_safety_observer.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-exception-escape",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 193,
"message": "an exception may be thrown in function '(lambda at ../../src/symbolic/batch_safety_observer.cpp:193:13)' which should not throw exceptions",
"path": "src/symbolic/batch_safety_observer.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-exception-escape",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 207,
"message": "an exception may be thrown in function '(lambda at ../../src/symbolic/batch_safety_observer.cpp:207:28)' which should not throw exceptions",
"path": "src/symbolic/batch_safety_observer.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-exception-escape",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 122,
"message": "lambdas that capture 'this' should not specify a by-value capture default",
"path": "src/symbolic/batch_safety_observer.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-misleading-capture-default-by-value",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 8,
"line": 166,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/cost_summary.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 141,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/symbolic/encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 69,
"message": "use designated initializer list to initialize 'SymbolicEnv::ValueMeta'",
"path": "src/symbolic/encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 6,
"line": 110,
"message": "function 'applyStmt' exceeds recommended size/complexity thresholds",
"path": "src/symbolic/encoder.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 53,
"message": "redundant 'canonicalVarDecl' declaration",
"path": "src/symbolic/encoder.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-declaration",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 11,
"line": 54,
"message": "redundant 'heapArrayCounter' declaration",
"path": "src/symbolic/encoder.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-declaration",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 56,
"message": "redundant 'valueMetaForExpr' declaration",
"path": "src/symbolic/encoder.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-declaration",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 55,
"message": "redundant 'valueMetaForType' declaration",
"path": "src/symbolic/encoder.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-redundant-declaration",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 50,
"line": 271,
"message": "use designated initializer list to initialize 'ArrayInfo'",
"path": "src/symbolic/encoder_env.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 43,
"line": 99,
"message": "use designated initializer list to initialize 'ValueMeta'",
"path": "src/symbolic/encoder_env.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 183,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "src/symbolic/encoder_expr.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 45,
"line": 388,
"message": "comparison between 'signed' and 'unsigned' integers",
"path": "src/symbolic/encoder_expr.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-integer-sign-comparison",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 47,
"message": "function 'encodeExpr' exceeds recommended size/complexity thresholds",
"path": "src/symbolic/encoder_expr.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 56,
"line": 387,
"message": "repeated branch body in conditional chain",
"path": "src/symbolic/encoder_expr_arms.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 72,
"line": 73,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/encoder_expr_arms.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 15,
"line": 156,
"message": "use auto when initializing with a template cast to avoid duplicating the type name",
"path": "src/symbolic/encoder_expr_arms.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 41,
"line": 444,
"message": "use designated initializer list to initialize 'BailInfo'",
"path": "src/symbolic/encoder_expr_arms.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 17,
"line": 405,
"message": "comparison between 'signed' and 'unsigned' integers",
"path": "src/symbolic/encoder_expr_arms.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-integer-sign-comparison",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 92,
"message": "function 'encodeBinaryOperatorArm' exceeds recommended size/complexity thresholds",
"path": "src/symbolic/encoder_expr_arms.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 292,
"message": "function 'encodeCallExprArm' exceeds recommended size/complexity thresholds",
"path": "src/symbolic/encoder_expr_arms.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 303,
"message": "invalid case style for variable 'returnCallValue'",
"path": "src/symbolic/encoder_expr_arms.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 294,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/encoder_foundation.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 305,
"message": "avoid repeating the return type from the declaration; use a braced initializer list instead",
"path": "src/symbolic/encoder_foundation.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-return-braced-init-list",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 68,
"message": "use designated initializer list to initialize 'BailInfo'",
"path": "src/symbolic/encoder_foundation.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 34,
"line": 204,
"message": "parameter 'result' of type 'z3::expr' is passed by value and only copied once; consider moving it to avoid unnecessary copies",
"path": "src/symbolic/encoder_operators.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-unnecessary-value-param",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 59,
"line": 132,
"message": "the parameter 'source' of type 'z3::expr' is copied for each invocation but only used as a const reference; consider making it a const reference",
"path": "src/symbolic/encoder_operators.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-unnecessary-value-param",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 199,
"message": "function 'encodeBinary' exceeds recommended size/complexity thresholds",
"path": "src/symbolic/encoder_operators.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 418,
"message": "function 'encodeUnary' exceeds recommended size/complexity thresholds",
"path": "src/symbolic/encoder_operators.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 84,
"message": "invalid case style for variable 'addRoot'",
"path": "src/symbolic/encoder_operators.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 284,
"message": "invalid case style for variable 'arithLhs'",
"path": "src/symbolic/encoder_operators.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 287,
"message": "invalid case style for variable 'arithRhs'",
"path": "src/symbolic/encoder_operators.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 282,
"message": "invalid case style for variable 'narrowLhs'",
"path": "src/symbolic/encoder_operators.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 283,
"message": "invalid case style for variable 'narrowRhs'",
"path": "src/symbolic/encoder_operators.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 203,
"message": "invalid case style for variable 'normalizeResult'",
"path": "src/symbolic/encoder_operators.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 264,
"message": "invalid case style for variable 'typeInfo'",
"path": "src/symbolic/encoder_operators.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 79,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/encoder_reachability.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 38,
"message": "use designated initializer list to initialize 'value_type' (aka 'Row')",
"path": "src/symbolic/encoder_reachability.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 19,
"line": 41,
"message": "use a ranges version of this algorithm",
"path": "src/symbolic/encoder_reachability.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 61,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/encoder_summary_instantiate.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 21,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/symbolic/expr_hash.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 41,
"line": 79,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/function_contracts.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 99,
"message": "use starts_with instead of substr",
"path": "src/symbolic/function_contracts.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 71,
"message": "invalid case style for variable 'kRequires'",
"path": "src/symbolic/function_contracts.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 43,
"message": "unchecked access to optional value",
"path": "src/symbolic/guarded_facts.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-unchecked-optional-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 202,
"message": "use range-based for loop instead",
"path": "src/symbolic/guarded_facts.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-loop-convert",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 74,
"message": "use designated initializer list to initialize 'GuardedFact'",
"path": "src/symbolic/guarded_facts.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 59,
"line": 253,
"message": "the parameter 'else_guard' of type 'FactGuard' is copied for each invocation but only used as a const reference; consider making it a const reference",
"path": "src/symbolic/guarded_facts.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-unnecessary-value-param",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 59,
"line": 251,
"message": "the parameter 'then_guard' of type 'FactGuard' is copied for each invocation but only used as a const reference; consider making it a const reference",
"path": "src/symbolic/guarded_facts.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-unnecessary-value-param",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 256,
"message": "invalid case style for variable 'matchingElseFact'",
"path": "src/symbolic/guarded_facts.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 47,
"message": "do not use const_cast to remove const qualifier",
"path": "src/symbolic/heap_model.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 11,
"line": 111,
"message": "use auto when initializing with a cast to avoid duplicating the type name",
"path": "src/symbolic/heap_model.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-auto",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 22,
"line": 55,
"message": "variable 'hi' is not initialized",
"path": "src/symbolic/interval.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 55,
"message": "variable 'lo' is not initialized",
"path": "src/symbolic/interval.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-init-variables",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 60,
"message": "use designated initializer list to initialize 'IntInterval'",
"path": "src/symbolic/interval.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 87,
"message": "use a ranges version of this algorithm",
"path": "src/symbolic/interval.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 51,
"message": "do not use static_cast to downcast from a base to a derived class",
"path": "src/symbolic/ir_expr_clang.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-static-cast-downcast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 19,
"message": "'fold::symbolic::pinLoopBoundVars(const clang::Expr *, SymbolicEnv &)::VarRefCollector::VisitDeclRefExpr' shadows method with the same name in class 'RecursiveASTVisitor<VarRefCollector>'",
"path": "src/symbolic/loop_bound_pin.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 25,
"message": "do not use const_cast to remove const qualifier",
"path": "src/symbolic/loop_bound_pin.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 91,
"message": "use a ranges version of this algorithm",
"path": "src/symbolic/loop_invariant.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 349,
"message": "member 'calls_' of type 'std::set<std::string> &' (aka 'std::set<basic_string<char>> &') is a reference",
"path": "src/symbolic/loop_inventory.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 24,
"line": 560,
"message": "member 'ctx_' of type 'clang::ASTContext &' is a reference",
"path": "src/symbolic/loop_inventory.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 561,
"message": "member 'summary_' of type 'FunctionCostSummary &' is a reference",
"path": "src/symbolic/loop_inventory.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 28,
"line": 333,
"message": "member 'symbols_' of type 'std::set<std::string> &' (aka 'std::set<basic_string<char>> &') is a reference",
"path": "src/symbolic/loop_inventory.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 176,
"message": "do not use const_cast to remove const qualifier",
"path": "src/symbolic/loop_inventory.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 40,
"line": 309,
"message": "use emplace_back instead of push_back",
"path": "src/symbolic/loop_inventory.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-emplace",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 31,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/octagon.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 9,
"line": 31,
"message": "do not use array subscript when the index is not an integer constant expression",
"path": "src/symbolic/octagon.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-constant-array-index",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 139,
"message": "member 'ctx_' of type 'z3::context &' is a reference",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 140,
"message": "member 'obs_' of type 'SafetyObserver &' is a reference",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 42,
"line": 104,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 170,
"message": "use designated initializer list to initialize 'ExecutionState'",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 40,
"line": 114,
"message": "use designated initializer list to initialize 'WorkItem'",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 36,
"message": "use designated initializer list to initialize 'fold::symbolic::(anonymous namespace)::BufferSink'",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 242,
"message": "function 'boolValueIs' should be marked [[nodiscard]]",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 168,
"message": "function 'captureState' should be marked [[nodiscard]]",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 181,
"message": "function 'forwardTargetIndex' should be marked [[nodiscard]]",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 306,
"message": "function 'locOf' should be marked [[nodiscard]]",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 76,
"message": "use a ranges version of this algorithm",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 67,
"message": "use starts_with instead of rfind",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-starts-ends-with",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 16,
"line": 166,
"message": "enum 'StepFlow' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-enum-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 252,
"message": "the parameter 'next' of type 'z3::expr' is copied for each invocation but only used as a const reference; consider making it a const reference",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-unnecessary-value-param",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 544,
"message": "invalid case style for variable 'isSigned'",
"path": "src/symbolic/pcode_encoder.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 74,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/pcode_summary.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 66,
"line": 160,
"message": "do not use array subscript when the index is not an integer constant expression",
"path": "src/symbolic/pcode_summary.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-constant-array-index",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 44,
"line": 112,
"message": "use designated initializer list to initialize 'value_type' (aka 'fold::symbolic::ForwardEdge')",
"path": "src/symbolic/pcode_summary.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 21,
"line": 50,
"message": "function 'summarizePointerWrites' exceeds recommended size/complexity thresholds",
"path": "src/symbolic/pcode_summary.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 88,
"message": "invalid case style for variable 'addOpFrom'",
"path": "src/symbolic/pcode_summary.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 73,
"message": "invalid case style for variable 'defIndexOf'",
"path": "src/symbolic/pcode_summary.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 65,
"message": "invalid case style for variable 'isLess'",
"path": "src/symbolic/pcode_summary.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 31,
"message": "member 'ctx' of type 'z3::context &' is a reference",
"path": "src/symbolic/rust_ir_encoder.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 86,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/rust_ir_encoder.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 141,
"message": "function 'encodeRustNode' exceeds recommended size/complexity thresholds",
"path": "src/symbolic/rust_ir_encoder.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 14,
"line": 205,
"message": "invalid case style for variable 'signed_'; cannot be fixed because 'signed' would conflict with a keyword",
"path": "src/symbolic/rust_ir_encoder.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 35,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/serialize.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 41,
"line": 79,
"message": "do not use const_cast to remove const qualifier",
"path": "src/symbolic/serialize.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-type-const-cast",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 103,
"message": "use designated initializer list to initialize 'FunctionSummarized'",
"path": "src/symbolic/serialize.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 20,
"line": 32,
"message": "use designated initializer list to initialize 'FeasibilityCheck'",
"path": "src/symbolic/source_path_state.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 12,
"line": 12,
"message": "enum 'FeasibilityResult' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size",
"path": "src/symbolic/source_path_state.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-enum-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 24,
"message": "use designated initializer list to initialize 'const SinkSignature'",
"path": "src/symbolic/stdlib_models.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 40,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/summary.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 6,
"line": 14,
"message": "invalid case style for function 'from_json'",
"path": "src/symbolic/summary.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 6,
"line": 10,
"message": "invalid case style for function 'to_json'",
"path": "src/symbolic/summary.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-identifier-naming",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 37,
"line": 25,
"message": "'qualified_name' used after it was moved",
"path": "src/symbolic/summary_cache.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-use-after-move",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 13,
"line": 42,
"message": "use a ranges version of this algorithm",
"path": "src/symbolic/summary_cache.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-ranges",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 9,
"message": "use 'std::scoped_lock' instead of 'std::lock_guard'",
"path": "src/symbolic/summary_cache.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-scoped-lock",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 183,
"message": "'fold::(anonymous namespace)::SummaryMetadataCollector::VisitBinaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::SummaryMetadataCollector>'",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 164,
"message": "'fold::(anonymous namespace)::SummaryMetadataCollector::VisitCallExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::SummaryMetadataCollector>'",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 210,
"message": "'fold::(anonymous namespace)::SummaryMetadataCollector::VisitDeclRefExpr' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::SummaryMetadataCollector>'",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 176,
"message": "'fold::(anonymous namespace)::SummaryMetadataCollector::VisitUnaryOperator' shadows method with the same name in class 'RecursiveASTVisitor<fold::(anonymous namespace)::SummaryMetadataCollector>'",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 38,
"line": 363,
"message": "iteration of pointers is nondeterministic",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-nondeterministic-pointer-iteration-order",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 346,
"message": "member 'ctx_' of type 'const clang::ASTContext &' is a reference",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 347,
"message": "member 'env_' of type 'SymbolicEnv &' is a reference",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 29,
"line": 612,
"message": "member 'exits_' of type 'std::vector<ExitState> &' is a reference",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 51,
"line": 613,
"message": "member 'params_' of type 'const std::vector<const clang::ParmVarDecl *> &' is a reference",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 41,
"line": 89,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 27,
"line": 445,
"message": "use designated initializer list to initialize 'ExitState'",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 30,
"line": 678,
"message": "use designated initializer list to initialize 'FunctionSummarized'",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 72,
"line": 342,
"message": "use designated initializer list to initialize 'symbolic::SummaryPrecondition'",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 232,
"message": "function 'preconditions' should be marked [[nodiscard]]",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 372,
"message": "the variable 'else_v' of type 'z3::expr' is copy-constructed from a const reference but is only used as const reference; consider making it a const reference",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-unnecessary-copy-initialization",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 371,
"message": "the variable 'then_v' of type 'z3::expr' is copy-constructed from a const reference but is only used as const reference; consider making it a const reference",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "performance-debt",
"rule": "performance-unnecessary-copy-initialization",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 1,
"line": 724,
"message": "function 'summarizeLeafFunctionSymbolically' exceeds recommended size/complexity thresholds",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 10,
"line": 403,
"message": "function 'walk' exceeds recommended size/complexity thresholds",
"path": "src/symbolic/summary_encoder.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 103,
"message": "empty catch statements hide issues; to handle exceptions appropriately, consider re-throwing, handling, or avoiding catch altogether",
"path": "src/symbolic/tactics.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-empty-catch",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 43,
"line": 179,
"message": "do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead",
"path": "src/symbolic/tactics.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-array-to-pointer-decay",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 36,
"line": 25,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/symbolic/tactics.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 24,
"message": "use range-based for loop instead",
"path": "src/symbolic/tactics.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-loop-convert",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 18,
"line": 40,
"message": "function 'checkWithPortfolio' exceeds recommended size/complexity thresholds",
"path": "src/symbolic/tactics.cpp",
"rationale_ref": "readability-debt",
"rule": "readability-function-size",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 57,
"message": "switch has 2 consecutive identical branches",
"path": "src/symbolic/theory.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-branch-clone",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 19,
"message": "'fold::symbolic::(anonymous namespace)::FunctionCollector::VisitFunctionDecl' shadows method with the same name in class 'RecursiveASTVisitor<fold::symbolic::(anonymous namespace)::FunctionCollector>'",
"path": "src/symbolic/uninit_pre_pass.cpp",
"rationale_ref": "correctness-debt",
"rule": "bugprone-derived-method-shadowing-base-method",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 33,
"line": 36,
"message": "member 'sm_' of type 'const clang::SourceManager &' is a reference",
"path": "src/symbolic/uninit_pre_pass.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-avoid-const-or-ref-data-members",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 33,
"message": "function 'definitions' should be marked [[nodiscard]]",
"path": "src/symbolic/uninit_pre_pass.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 5,
"line": 50,
"message": "function 'uses' should be marked [[nodiscard]]",
"path": "src/symbolic/uninit_pre_pass.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-nodiscard",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 34,
"line": 116,
"message": "possibly unsafe 'operator[]', consider bounds-safe alternatives",
"path": "src/witness/graphml.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 23,
"line": 54,
"message": "member initializer for 'current_node_' is redundant",
"path": "src/witness/graphml.cpp",
"rationale_ref": "core-guidelines-debt",
"rule": "cppcoreguidelines-use-default-member-init,modernize-use-default-member-init",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 32,
"line": 51,
"message": "pass by value and use std::move",
"path": "src/witness/graphml.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-pass-by-value",
"severity": "warning",
"status": "accepted-risk"
},
{
"column": 26,
"line": 61,
"message": "use designated initializer list to initialize 'Edge'",
"path": "src/witness/graphml.cpp",
"rationale_ref": "modernization-debt",
"rule": "modernize-use-designated-initializers",
"severity": "warning",
"status": "accepted-risk"
}
],
"policy": {
"blocking": "Any diagnostic identity absent from this reviewed baseline.",
"identity": "Project-relative path, severity, rule, and message; line/column are evidence only.",
"scope": "Production src/*.cpp translation units and project headers selected by .clang-tidy."
},
"rationales": {
"core-guidelines-debt": "Reviewed pre-existing C++ Core Guidelines migration debt. Broad API/lifetime changes are deferred; any new identity blocks.",
"correctness-debt": "Reviewed pre-existing bugprone/CERT diagnostic. Cleanup is staged separately; any new identity blocks immediately.",
"modernization-debt": "Reviewed pre-existing modernization suggestion. Mechanical cleanup is deferred to focused changes; any new identity blocks.",
"other-reviewed-debt": "Reviewed pre-existing diagnostic that does not fit another category; any new identity blocks pending individual review.",
"performance-debt": "Reviewed pre-existing performance suggestion without evidence of a current regression. Measurement-led cleanup is deferred; any new identity blocks.",
"readability-debt": "Reviewed pre-existing naming or size diagnostic. Large renames/decompositions are deferred to focused changes; any new identity blocks."
},
"reviewed_at": "2026-07-29T00:15:00Z",
"reviewer": "Fold maintainers (differential lint adoption review)",
"schema_version": 1,
"tool": "clang-tidy",
"tool_version": "LLVM clang-tidy 22.1.8; CI executes clang-tidy 19 and treats unmatched version-specific identities as resolved"
}