diff --git a/defects/orbiter/CLEAN b/defects/orbiter/CLEAN new file mode 100644 index 000000000..9b1b3d0c1 --- /dev/null +++ b/defects/orbiter/CLEAN @@ -0,0 +1,33 @@ +CLEAN — all 5 MOADs scanned 2026-03-31 + +Target: Orbiter Space Flight Simulator (C++) +Source: https://github.com/orbitersim/orbiter (depth=1) +Commit: e76cfed + +MOAD-0001 (CWE-407): CLEAN + No actionable defects. Linear-search patterns exist but on startup-only + paths or inherently small collections: + - Config::m_activeModules std::find (startup module loading) + - PlanetarySystem::GetVessel(name) O(V) lookup (not in per-frame loops) + - Vessel::IsGroupThruster O(T) scan (thrusters per group, small N) + - Docking proximity uses one-vessel-per-frame amortized scan + - Proxy updates every 100s, not per-frame + - Nav receiver scan guarded by commsT timer (2-6s interval) + +MOAD-0002 (Intertangle): PRESENT (architectural, not patchable) + Extensive global mutable state coupling 47+ source files: + g_pOrbiter, g_psys, g_focusobj, g_camera, td, g_pane, + g_bForceUpdate, g_bStateUpdate, DBG_MSG[256] + Classic god object pattern. Camera, Vessel, PlanetarySystem, Pane, + MFD, Dialog subsystems all coupled through shared mutable globals. + +MOAD-0003 (Leaked Context): CLEAN + No thread_local usage. Single-threaded simulation architecture. + +MOAD-0004 (Logged Secret): CLEAN + No credentials or secrets in codebase. Space flight simulator + with no network authentication. + +MOAD-0005 (Thundering Herd): CLEAN + Single-threaded simulation, no concurrent cache access patterns. + Elevation tile cache is fixed-size array (8 tiles), no contention.