game-engines: allegro5/bullet3/box2d/dry CWE-407 scan
bullet3-0001: btGhostObject::addOverlappingObjectInternal O(N²) linear dedup per broadphase step — even carries "too slow" self-admission comment (HIGH) bullet3-0002: btSoftRigidCollisionAlgorithm::processCollision O(C×D) per frame on m_collisionDisabledObjects plain array (MEDIUM) allegro5: CLEAN (vector_contains only on non-hot setup paths) box2d: CLEAN (v3 rewrite uses b2HashSet throughout) dry: CLEAN (HashSet/HashMap on all hot dedup paths)
This commit is contained in:
parent
72e37e6142
commit
7491349edc
15 changed files with 477 additions and 14 deletions
18
defects/dask/patch/CLEAN.md
Normal file
18
defects/dask/patch/CLEAN.md
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# dask — CWE-407 Scan: CLEAN
|
||||
|
||||
Scanned: 2026-03-29
|
||||
|
||||
## Scope
|
||||
|
||||
- `dask/optimization.py` — fuse_linear, fuse: `seen = set()`
|
||||
- `dask/_task_spec.py` — graph traversal: `seen = set()`
|
||||
- `dask/highlevelgraph.py` — dependency walk: `seen = set()`
|
||||
- `dask/dot.py` — DAG visualization: `seen = set()`
|
||||
- `dask/order.py` — transitive_deps dedup: `transitive_deps_ids = set()` (list used only for ordered iteration, dedup via set)
|
||||
- `dask/dataframe/dask_expr/_expr.py` — `ancestors = []` is a pure accumulator list (not used for membership checks; dedup done via `seen = set()` at line 3192)
|
||||
|
||||
## Verdict
|
||||
|
||||
No CWE-407 (algorithmic complexity / quadratic membership check) defects found.
|
||||
All visited/seen deduplication uses `set` or `dict` throughout the task graph
|
||||
traversal and optimization paths.
|
||||
Loading…
Add table
Add a link
Reference in a new issue