isle-portable/LEGO1/lego/sources/roi
foxtacles 9e82c461dd
Fix ROI UAF cluster and bump Emscripten INITIAL_MEMORY to 128 MB (#807)
ROI UAF fixes:
- LegoAnimActorStruct deep-copies m_roiMap and deletes copy-assignment, so
  LegoExtraActor's copy-construction at legoextraactor.cpp no longer shares
  ownership with the source presenter.
- LegoROI tracks slot back-references; its destructor nulls every registered
  LegoROI** so per-element UAF in arrays like LegoAnimPresenter::m_roiMap is
  impossible. LegoAnimActorStruct / LegoAnimPresenter / LegoLocomotionAnimPresenter
  register and unregister around their array lifetimes.
- LegoAnimationManager::Suspend now invokes ClearMaps on every persistent
  LegoExtraActor (not just those currently in m_extras) so dormant actors
  cannot retain stale m_AnimTreePtr after world teardown. Adds ClearMaps
  overrides on Act2Actor, Act3Cop, Act3Brickster, Act3Shark, LegoRaceCar,
  LegoExtraActor.

INITIAL_MEMORY=128mb is re-added to the Emscripten link options.
2026-05-17 20:11:38 +00:00
..
legolod.cpp Merge remote-tracking branch 'isle/master' 2026-01-07 16:39:54 -07:00
legolod.h Beta match LegoLOD and related classes (#1704) 2026-01-05 23:45:36 +01:00
legoroi.cpp Fix ROI UAF cluster and bump Emscripten INITIAL_MEMORY to 128 MB (#807) 2026-05-17 20:11:38 +00:00
legoroi.h Fix ROI UAF cluster and bump Emscripten INITIAL_MEMORY to 128 MB (#807) 2026-05-17 20:11:38 +00:00