megaglest-0001: Unit::updateAttackBoostProgress() std::find on currentAttackBoostUnits vector<int> inside per-frame candidate loop O(C*B), plus reverse lookup on candidateValidIdList O(B*C). Fix: unordered_set<int> for O(1) membership. MEDIUM, 8.3x at N=2000. megaglest-0002: UnitUpdater::findUnitsForCell() linear dedup scan of units vector inside findUnitsInRange grid loop O(R^2 * U). Fix: unordered_set<int> seenIds for O(1) dedup. HIGH, 9.1x at cells=5000, units=500. MOAD-0002 (Intertangle): CLEAN, standard game engine singletons. MOAD-0003 (Leaked Context): CLEAN, no thread_local usage. MOAD-0004 (Logged Secret): FTP password logged in miniftpclient.cpp lines 358, 360, 968, 975 via szBuf containing ftp://user:pass@host URL. CWE-312 confirmed but in bundled third-party FTP client code. MOAD-0005 (Thundering Herd): CLEAN, single-threaded game logic. 4/4 unit tests PASS.
23 KiB
Executable file
23 KiB
Executable file