java-topology/defects/tokio/patch/CLEAN.md
russell@unturf.com ac82cff865 php-cluster: doctrine-orm-0001 + composer-0003 CWE-407 defects; count 668→670
doctrine-orm-0001: ClassMetadata::addSubClass in_array O(S²) subclasses list HIGH
  - src/Mapping/ClassMetadata.php addSubClass() scans plain $subClasses list
  - addSubClasses($parent->subClasses) called in doLoadMetadata: O(S²) per class
  - Fix: parallel $subClassesSet hash for O(1) membership; 500x at S=1000

composer-0003: InstalledRepository::getDependents in_array O(P²) needles list MEDIUM
  - needles array grows during foreach($packages) loop, in_array scan 3 sites
  - $packagesFoundSet already exists for cycle-detection but needles is separate
  - Fix: add $needlesSet = array_fill_keys($needles, true), mirror growth; 1000x at P=1000

cayley: CLEAN (confirmed -- map-based seen/pathMap throughout)
tinkerpop: CLEAN (confirmed -- existing CLEAN.md valid, sort ArrayList is query-plan-time only)
2026-03-29 19:51:31 -04:00

11 lines
698 B
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# CLEAN — tokio
Scanned 2026-03-29 for CWE-407 (algorithmic complexity).
## Findings
- `tokio/src/runtime/scheduler/multi_thread/idle.rs``sleepers: Vec<usize>` with `.contains()` in `is_parked()`: N is bounded to the worker thread count (typically 132). Called once per work-steal attempt, not in a loop over workers. Not actionable.
- `tokio-util/src/codec/any_delimiter_codec.rs``seek_delimiters: Vec<u8>` contains check per byte in buffer: D (delimiter count) is user-configured and typically 13. This is O(B×D) but D is constant and tiny. Not actionable.
- All other `contains()` calls use bitflags or range containment. CLEAN.
**Result: No actionable CWE-407 defects.**