Backlog #5 (operator-confirmed). chromium_source.json and sage_rust.json were validated but unwired. This adds: - reviewed dispositions (5 parallel review subagents): chromium 11 (10 FP/1 accepted-risk — deliberate modular arithmetic in base/file_path.cc); sage 2714 (9 actionable uncontained path-join reads in skill install/daemon library/model-downloader; 890 FP; 1815 accepted-risk quality bulk) - wall/RSS baselines for both corpora Measured both corpora produce finding drift run-to-run (chromium Z3 fingerprint drifts; sage +5 findings) and chromium's wall swings up to ~2x under load — so they are wired as STRESS/DIVERSITY corpora: a new additive evaluation.max_new_findings override lets a manifest declare its finding-drift tolerance (CLI default unchanged for fold/yams), allow_finding_drift is on, and chromium's wall/RSS thresholds are relaxed. Final: both evals pass. Also fixes a pre-existing /tmp-literal default (now platform tempdir) in run_project_eval.py.
124 lines
No EOL
5.4 KiB
JSON
124 lines
No EOL
5.4 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"target_name": "chromium",
|
|
"reviewed_at": "2026-08-31T18:45:00Z",
|
|
"reviewer": "fold optimization loop (round 4+): 5 parallel subagent reviewers + inline reconciliation",
|
|
"target": {
|
|
"revision": "259a052a983504a6724612b775e15cf007825117",
|
|
"tu_set_fingerprint": "e3e285d2f9f56366a65ff49162ef3e01be64d7a6128aa35b0edc143330a75764",
|
|
"configuration_fingerprint": "390a520245615ca3ab3365432a26f32b870b23ec9798f0da0b49260b260416b4"
|
|
},
|
|
"notes": "11 findings reviewed: unsigned-wrap (10, deliberate modular arithmetic in base/file_path.cc) and int-overflow (1) are false-positives/accepted-risk; no actionable findings in this detector scope.",
|
|
"findings": [
|
|
{
|
|
"id": "int-overflow:-:../../base/files/file_path.cc:1441:5",
|
|
"status": "false-positive",
|
|
"rule_id": "fold.int-overflow",
|
|
"rationale": "The flagged signed subtraction lives inside ICU's CBU8_NEXT macro expansion (base/third_party/icu/icu_utf.h), where (c)-=0xf0 and (s)[i]-0x80 are bounded by UTF-8 lead/trail-byte invariants; file_path.cc passes valid index/length bounds and DCHECKs the result. No defect exists in this file's own arithmetic.",
|
|
"location": {
|
|
"uri": "../../base/files/file_path.cc",
|
|
"line": 1441
|
|
}
|
|
},
|
|
{
|
|
"id": "int-overflow:unsigned:+:../../base/files/file_path.cc:1603:22",
|
|
"status": "false-positive",
|
|
"rule_id": "fold.unsigned-wrap",
|
|
"rationale": "`start + 1`/`start + 2`: start is `FindDriveLetter(path_)+2`, which is either 1 (no drive letter, via the intended npos+2 wraparound) or 3 (drive letter), so these small offsets cannot overflow size_t.",
|
|
"location": {
|
|
"uri": "../../base/files/file_path.cc",
|
|
"line": 1603
|
|
}
|
|
},
|
|
{
|
|
"id": "int-overflow:unsigned:-:../../base/files/file_path.cc:1604:34",
|
|
"status": "false-positive",
|
|
"rule_id": "fold.unsigned-wrap",
|
|
"rationale": "`path_[start - 1]`: start is always >= 1 because FindDriveLetter returns npos (npos+2 wraps to 1) or 1 (+2 = 3), so start-1 never underflows below zero.",
|
|
"location": {
|
|
"uri": "../../base/files/file_path.cc",
|
|
"line": 1604
|
|
}
|
|
},
|
|
{
|
|
"id": "int-overflow:unsigned:-:../../base/files/file_path.cc:1605:24",
|
|
"status": "false-positive",
|
|
"rule_id": "fold.unsigned-wrap",
|
|
"rationale": "`path_.resize(pos - 1)`: the loop guard is pos > start with start >= 1, so pos >= 2 and pos-1 >= 1; no unsigned underflow is reachable.",
|
|
"location": {
|
|
"uri": "../../base/files/file_path.cc",
|
|
"line": 1605
|
|
}
|
|
},
|
|
{
|
|
"id": "int-overflow:unsigned:+:../../base/files/file_path.cc:174:16",
|
|
"status": "false-positive",
|
|
"rule_id": "fold.unsigned-wrap",
|
|
"rationale": "`penultimate_dot + 1`: penultimate_dot is a valid dot index (< last_dot) and the function returns early when it is npos, so +1 cannot wrap past SIZE_MAX.",
|
|
"location": {
|
|
"uri": "../../base/files/file_path.cc",
|
|
"line": 174
|
|
}
|
|
},
|
|
{
|
|
"id": "int-overflow:unsigned:+:../../base/files/file_path.cc:182:16",
|
|
"status": "false-positive",
|
|
"rule_id": "fold.unsigned-wrap",
|
|
"rationale": "`last_dot + 1`: last_dot is guarded upstream against npos and 0, so it is a real index well below SIZE_MAX and +1 cannot overflow.",
|
|
"location": {
|
|
"uri": "../../base/files/file_path.cc",
|
|
"line": 182
|
|
}
|
|
},
|
|
{
|
|
"id": "int-overflow:unsigned:-:../../base/files/file_path.cc:184:21",
|
|
"status": "false-positive",
|
|
"rule_id": "fold.unsigned-wrap",
|
|
"rationale": "`last_dot - penultimate_dot`: penultimate_dot is found via rfind from last_dot-1 (or the function returned early on npos), so penultimate_dot < last_dot and the subtraction is >= 1; no underflow.",
|
|
"location": {
|
|
"uri": "../../base/files/file_path.cc",
|
|
"line": 184
|
|
}
|
|
},
|
|
{
|
|
"id": "int-overflow:unsigned:-:../../base/files/file_path.cc:185:21",
|
|
"status": "false-positive",
|
|
"rule_id": "fold.unsigned-wrap",
|
|
"rationale": "Same `last_dot - penultimate_dot` expression as line 184, compared against 5U and 1U: operand ordering guarantees a non-negative result, so no wraparound occurs.",
|
|
"location": {
|
|
"uri": "../../base/files/file_path.cc",
|
|
"line": 185
|
|
}
|
|
},
|
|
{
|
|
"id": "int-overflow:unsigned:-:../../base/files/file_path.cc:548:48",
|
|
"status": "false-positive",
|
|
"rule_id": "fold.unsigned-wrap",
|
|
"rationale": "`new_path.path_.length() - 1` is only evaluated when `last_separator != npos` (&& short-circuit), which implies length >= 1, so the subtraction never underflows.",
|
|
"location": {
|
|
"uri": "../../base/files/file_path.cc",
|
|
"line": 548
|
|
}
|
|
},
|
|
{
|
|
"id": "int-overflow:unsigned:+:../../base/files/file_path.cc:740:43",
|
|
"status": "accepted-risk",
|
|
"rule_id": "fold.unsigned-wrap",
|
|
"rationale": "`FindDriveLetter(new_path.path_) + 1`: when no drive letter exists FindDriveLetter returns npos, so npos+1 deliberately wraps to 0, making `0 != length()` append a separator exactly as the 'not just a drive letter' comment intends. The wraparound is intentional and yields correct behavior.",
|
|
"location": {
|
|
"uri": "../../base/files/file_path.cc",
|
|
"line": 740
|
|
}
|
|
},
|
|
{
|
|
"id": "int-overflow:unsigned:+:../../base/files/file_path.cc:794:35",
|
|
"status": "false-positive",
|
|
"rule_id": "fold.unsigned-wrap",
|
|
"rationale": "`path_.length() + 1` in reserve(): a std::string/std::u16string length is bounded by real allocation limits and can never approach SIZE_MAX, so the +1 cannot wrap.",
|
|
"location": {
|
|
"uri": "../../base/files/file_path.cc",
|
|
"line": 794
|
|
}
|
|
}
|
|
]
|
|
} |