mirror of
https://github.com/Dingo-Shenanigans/ReSkate.git
synced 2026-10-18 17:55:28 +02:00
The shader expression registry registers a database from a queued job, and builds its per-key item lists from the database's lookup without a bounds check. A database destroyed before its job ran, or a lookup index past its items, left the registry holding pointers that crash it later (Skate.exe+0x3f7cf33, +0x3f7ceed, +0x20960b in Sentry). The guard skips a registration for a database already destroyed and points an out-of-range index at a valid item of the same key, logging each.