isle-portable/LEGO1/lego/legoomni
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
..
include Fix ROI UAF cluster and bump Emscripten INITIAL_MEMORY to 128 MB (#807) 2026-05-17 20:11:38 +00:00
src Fix ROI UAF cluster and bump Emscripten INITIAL_MEMORY to 128 MB (#807) 2026-05-17 20:11:38 +00:00