The key was resized before its length was checked, and the data length
wasn't checked at all, so a corrupt icon.cache could make a multi-GB
allocation and crash every launch. The cache is only saved at a clean
exit, so a bad file stayed.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>