- sceNet kept the current session's "inited" flags across a load, while
sceNetAdhoc takes them from the state. A state saved after
sceNetApctlInit loaded into a fresh boot had no apctl, and an earlier
state loaded mid-session found apctl already inited with no thread to
deliver its events. They now come from the state, and sceNetInet's host
sockets are closed on load instead of leaking ports.
- Adhoc matching contexts aren't saved, but survived a load while their
sockets were deleted under their host threads. They're deleted first now,
leaving their fake PSP threads (ids from before the load) alone.
- sceHttp had no state at all. Its inited flags are saved now, and its
objects, which hold host connections, are dropped on load.
- The achievements data size from the file was skipped unchecked, which can
wrap the pointer on 32-bit, and a MemSlabMap slab count could size a huge
allocation.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>