- fail closed on MCP input and compile database policy - add shared scan catalogs, finding queries, and tiered gates
13442 lines
475 KiB
JSON
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"
|
|
}
|