Commit graph

2 commits

Author SHA1 Message Date
93c9c175d4 undf: assign UNDF-2026-000001125 to mercurial-0001, stamp patches 2026-04-03 11:04:23 -04:00
cdba4c80e9 citra: 1 CWE-407 defect, MOADs 0002-0005 CLEAN
MOAD-0001: citra-0001 RasterizerCache page_table surfaces vector O(P*S^2)
  UnregisterSurface calls std::find(surfaces.begin(), surfaces.end(), surface_id)
  for each of P pages a surface spans. With S overlapping surfaces per page,
  total unregister cost is O(P*S) per surface, O(P*S^2) overall.
  Fix: change std::vector<SurfaceId> to std::unordered_set<SurfaceId>
  (std::hash<Common::SlotId> already defined). 3.4x measured at S=500, P=64.
  Hot path: InvalidateRegion called per CPU write to GPU texture memory.

MOAD-0002: CLEAN. System singleton is intentional single-emulator architecture;
  subsystems injected via System& reference, no intertangle coupling found.
MOAD-0003: CLEAN. thread_local only used for JNIEnv* JVM attachment in Android
  JNI (standard pattern, not request-scoped identity).
MOAD-0004: CLEAN. No credential values logged verbatim; JWT token size only.
MOAD-0005: CLEAN. GetPublicKey static cache is room-server single-threaded;
  JitEngine shader cache is GPU-thread single-threaded; all others use mutex.

Source: azahar-emu/azahar (Citra continuation), depth=1.
2026-03-31 19:59:10 -04:00