mirror of
https://github.com/storytold/deckcraft.git
synced 2026-10-29 21:16:57 -06:00
decode_at accepted up to 400 million pixels and then called to_rgba8, which the decoder's allocation limit doesn't cover (a grey image converts to four times its decoded size), and every picture that failed to decode was kept, bytes and all, for the life of the process. - Raster decodes check the RGBA size (512 MiB cap) from the header before decoding and again before the conversion. - The failed-source cache keeps at most 256 entries and 64 MiB of encoded bytes, oldest forgotten first; a larger failed input isn't kept, and a hit must be the same Arc. Co-authored-by: Cursor <cursoragent@cursor.com>