afda4539e1
A damaged file or a malformed list took the client down, or was shown as it came. Files: a DXT width of 0, a zero-sided BLP, an M2 under 0x11c bytes, a first sequence that ends before it starts and a large geoset group each panicked. A DXT level past the file failed the whole texture, where `0x5a8558` tests its size for zero alone. Geoset ids are 32-bit (`0x477592`, `0x47869a`). Lists: the realm list's size and string caps are checked (`0x5ba9e7`, `0x5b22d9`), a character list over 10 or unread to its end fails (`0x5b42a0`), and a failed re-dial empties the list (`0x5b2560`). Each has a test. Found in Thorsten42/benilla@af86636a54 Fixes #7 Fixes #10 Fixes #14 Fixes #67 Fixes #1660 Fixes #1661 Fixes #2941 Fixes #2942 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>