play: 1 CWE-407 defect (play-0001); basilisk: all 5 MOADs CLEAN

play-0001: CIopBios::FindIntrHandler() O(H) linear scan per IOP interrupt.
Called from HandleInterrupt() thousands of times per second. Fix: direct
index array m_intrHandlerIndex[LINES_MAX] keyed by interrupt line -> O(1).
Algorithmic ratio 32x (H=MAX_INTRHANDLER=32), timing 5.6x. 5/5 PASS.

Basilisk II: all 5 MOADs CLEAN. Video/newcpu lookuptab searches are cold
paths only; no god object, thread_local identity, credential logging, or
unsynchronized cache patterns found.
This commit is contained in:
russell@unturf.com 2026-03-31 19:51:16 -04:00
parent deacae0423
commit 265fad9edb
7 changed files with 330 additions and 0 deletions

7
defects/basilisk/scan Normal file
View file

@ -0,0 +1,7 @@
CLEAN
Scanned 2026-03-31 for all 5 MOADs.
MOAD-0001 (CWE-407): linear vector searches in video.cpp (find_monitor, find_mode) and newcpu.cpp (lookuptab) are in cold paths only — driver control calls and debug disassembly, not hot emulation loops. CLEAN.
MOAD-0002 (Intertangle): no god-object coupling found beyond expected emulator subsystem references. CLEAN.
MOAD-0003 (Leaked Context): no thread_local used for request-scoped identity. CLEAN.
MOAD-0004 (CWE-312): no credentials or tokens logged verbatim. slirp_socket_passwd passed directly to socket, not a log statement. CLEAN.
MOAD-0005 (Thundering Herd): no unsynchronized cache get+null+compute+put pattern found. CLEAN.