The same std::unique_ptr false positive (USE_AFTER_DELETE) also shows for two json_documents parsed in one lambda in unit-json_view_dump.cpp (ci_infer). It affects any test that holds several documents, so the exclusion now covers tests/src/unit-json_view*.cpp; ASan and Valgrind cover these tests. Signed-off-by: Niels Lohmann <mail@nlohmann.me>
19 lines
1.8 KiB
Plaintext
19 lines
1.8 KiB
Plaintext
{
|
|
"_comment": "Used by the ci_infer CMake target (#5715 item 4b). fail-on-issue makes CI fail on Infer findings; disable-issue-type is a type-level baseline for the ~174 pre-existing findings (all PULSE_UNNECESSARY_COPY*/PULSE_RESOURCE_LEAK/PULSE_CONST_REFABLE, mostly in test code) triaged in run https://github.com/nlohmann/json/actions/runs/35829411620 on commit 1054b2097, so CI fails only on a NEW issue type. Remove an entry here once its findings have been fixed or explicitly accepted.",
|
|
"_comment_pulse": "Pulse stops exploring paths after pulse-max-disjuncts (default 20). With the default, basic_json::replace_value() (destroy + assert_invariant) exceeds the limit, Pulse loses the stored type, and reports false NULLPTR_DEREFERENCE findings for get_ptr() results in tests/src/unit-pointer_access.cpp.",
|
|
"_comment_view": "Infer's model of std::unique_ptr mixes up values that are returned by value and own one: basic_json_document (parse() results) and the `built` values of the build() helper in tests/src/unit-json_view_builder.cpp. It reports USE_AFTER_DELETE for one of them after the destructor of an unrelated object (e.g. ~built() on line 345 invalidating `shallow` on line 350 of that file, or two documents parsed in one lambda in tests/src/unit-json_view_dump.cpp). AddressSanitizer and Valgrind are clean on the same tests, so reports for the json_view test files are excluded; findings reported in the library headers are still reported.",
|
|
"pulse-max-disjuncts": 40,
|
|
"fail-on-issue": true,
|
|
"disable-issue-type": [
|
|
"PULSE_UNNECESSARY_COPY_ASSIGNMENT",
|
|
"PULSE_UNNECESSARY_COPY",
|
|
"PULSE_UNNECESSARY_COPY_INTERMEDIATE",
|
|
"PULSE_UNNECESSARY_COPY_OPTIONAL",
|
|
"PULSE_RESOURCE_LEAK",
|
|
"PULSE_CONST_REFABLE"
|
|
],
|
|
"report-block-list-path-regex": [
|
|
"tests/src/unit-json_view.*\\.cpp"
|
|
]
|
|
}
|