Validate complete import depth numbers

This commit is contained in:
2026-10-20 00:27:55 +00:00
parent 7f8ad81065
commit d3a714a1cb
3 changed files with 40 additions and 3 deletions

View File

@@ -1,6 +1,6 @@
# Import Discovery and Scheduling Review Findings
Status: in progress; issues 1–4 complete, two findings remain.
Status: in progress; issues 1–5 complete, one finding remains.
Reviewed implementation: `aa93aed..15943e2`, ending at
`15943e233ca3cd1286c03c0e7085871db344cd4b`, against the accepted
@@ -150,7 +150,7 @@ loops, plus public host/native directory/glob loading coverage. Finite cases
failed before the change; all pass now alongside existing traversal-cycle and
containment tests. The full everyday check passed; no new limit was added.
## 5. [ ] P2 — Validate the complete depth token before saturating its value
## 5. [x] P2 — Validate the complete depth token before saturating its value
Owner: [parseImportDepth](../../internal/engine/import_spec.go), around lines
423–430.
@@ -171,6 +171,12 @@ large valid nonnegative integers and numeric `-0`; do not introduce a machine-si
maximum. Cover invalid suffixes after the overflow point as well as ordinary
invalid depths and valid large integers.
Completed: depth parsing saturates its accumulator without stopping token
validation. Public absent-directory regressions now reject fractional/exponent
suffixes after overflow and retain valid huge integers and `-0`. The two invalid
cases failed before the fix. Existing depth/specification coverage and the full
everyday check passed; the accepted integer range was not narrowed.
## 6. [ ] P2 — Apply the active import-depth limit to actual inclusion edges
Owner: [walkDeclarations](../../internal/engine/imports.go), around lines 403–405.