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)
16 lines
663 B
Markdown
16 lines
663 B
Markdown
# pyramid — CWE-407 Scan: CLEAN
|
|
|
|
Scanned: 2026-03-29
|
|
|
|
## Scope
|
|
|
|
- `src/pyramid/config/actions.py` — ConflictResolverState: `resolved_ainfos = {}` (dict keyed by discriminator)
|
|
- `src/pyramid/registry.py` — introspectable lookup: `_categories` is a nested dict, O(1) access
|
|
- `src/pyramid/config/tweens.py` — tween ordering: list used but only iterated, no quadratic membership
|
|
- Configuration action conflict detection: dict-based throughout
|
|
|
|
## Verdict
|
|
|
|
No CWE-407 (algorithmic complexity / quadratic membership check) defects found.
|
|
Discriminator conflict detection uses dict/set structures throughout. No
|
|
list-based visited/seen patterns in hot paths.
|