When an mbed TLS write timed out, SslWrite called DeleteWiiSocket, which
closed the game's socket and cleared its SSL slot while the game still
held both ids. A later SSL_NEW could then hand the same slot out under
the old id. Now a failed write marks the session failed and shuts the
host socket down; later reads, writes and handshakes on it fail until the
game tears the session down itself.
Ported from DarthMDev/Wiicompiled a2ecc0f (network_ssl.cpp part) and
fcf8646, both on upstream PR #258.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019rLZ24cFcqTNBmb4w2dpSq